Podstawy programowania w Pythonie

Podobne dokumenty
Języki i metody programowania

Podstawy programowania w Pythonie

Podstawy programowania w Pythonie

Podstawy programowania w Pythonie

Języki i metody programowania

Podstawy programowania w Pythonie

Podstawy programowania w Pythonie

Wstęp do programowania

Spis treści. Funkcje. 1 Funkcje 1.1 Zadanie Zadanie Zadanie Zadanie Zadanie Zadanie Zadanie 7

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Podstawy programowania w Pythonie

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Warsztaty dla nauczycieli

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Wykład 3 Składnia języka C# (cz. 2)

Programowanie w Ruby

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

4. Funkcje. Przykłady

Przedmiotowy Konkurs Informatyczny LOGIA powołany przez Mazowieckiego Kuratora Oświaty

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

Ćwiczenia z przetwarzania tablic 2D

Wykresy i interfejsy użytkownika

Modele i symulacje - Scratch i Excel

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

Listy, krotki, słowniki, funkcje

Wykład 5: Klasy cz. 3

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

Środowisko programisty

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 6. Karol Tarnowski A-1 p.

Wstęp do programowania

Funkcje. Spotkanie 5. Tworzenie i używanie funkcji. Przekazywanie argumentów do funkcji. Domyślne wartości argumentów

Wstęp do programowania

Wstęp. Opis programu :

Wstęp do informatyki- wykład 11 Funkcje

Dekoratora używa się wstawiając linijkę zaczynającą się przed definicją dekorowanego obiektu (klasy czy funkcji).

Ćwiczenie 3. Python 3: Python 3: Funkcje, moduły i operacje na plikach

Programowanie obiektowe

Język programowania Scala / Grzegorz Balcerek. Wyd. 2. Poznań, cop Spis treści

Środowisko programisty

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Podstawy Pythona. Krzysztof Gdawiec. Instytut Informatyki Uniwersytet Śląski

Przedmiotowy Konkurs Informatyczny LOGIA powołany przez Mazowieckiego Kuratora Oświaty

Python wstęp. Michał Bereta

Programowanie komputerowe. Zajęcia 2

Programowanie i projektowanie obiektowe

Wstęp do informatyki- wykład 9 Funkcje

Metody Metody, parametry, zwracanie wartości

Podstawy programowania skrót z wykładów:

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

Typy, klasy typów, składnie w funkcji

Klasa, metody, rozwijanie w linii

Podstawy programowania. Wykład: 7. Funkcje Przekazywanie argumentów do funkcji. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

Wstęp do Programowania 2

Funkcje są prawdopodobnie najważniejszą częścią każdego poważnego programu (w każdym języku programowania).

Języki i metody programowania

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Technologie informacyjne - wykład 12 -

Klasa, metody, rozwijanie w linii

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Wartości domyślne, przeciażenia funkcji

Język Python. Język Python 1/35

5 Przygotował: mgr inż. Maciej Lasota

Programowanie aplikacji mobilnych

Podstawy programowania. Wykład 6 Złożone typy danych: struktury, unie. Krzysztof Banaś Podstawy programowania 1

PROGRAMOWANIE W PYTHONIE ALGORYTMY TABLICOWE A LISTY

Tablice i funkcje. Marcin Makowski. 26 listopada Zak lad Chemii Teoretycznej UJ

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

Definiowanie procedur z parametrami w Logo Komeniuszu.

Wstęp do programowania

Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Wstęp do programowania

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Diagramy interakcji. Jarosław Kuchta Dokumentacja i Jakość Oprogramowania

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

Procedury i funkcje - powtórzenie i uzupełnienia. Przykład funkcji potęgowanie przy wykładniku naturalnym

Wykład 8: klasy cz. 4

Podstawy bioinformatyki 2017/18

Wykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Java EE produkcja oprogramowania

Lab 9 Podstawy Programowania

Programowanie w C++ Wykład 13. Katarzyna Grzelak. 4 czerwca K.Grzelak (Wykład 13) Programowanie w C++ 1 / 26

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?

Programowanie w języku Python. Grażyna Koba

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Referencje do zmiennych i obiektów

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Wykład VI PASCAL procedury i funkcje przekazywanie parametrów,

Spis treści. Dekoratory. 1 Dekoratory 1.1 Zadanie Zadanie Zadanie Zadanie 4

Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017

Functionalization. Funkcje w C. Marcin Makowski. 30 listopada Zak lad Chemii Teoretycznej UJ

PARADYGMATY PROGRAMOWANIA Wykład 4

Programowanie Proceduralne

Kl 7-8 Szkoła Podstawowa

Transkrypt:

Podstawy programowania w Pythonie Wykład 4 dr Andrzej Zbrzezny Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie 24 października 2012 dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 24.10.2012 1 / 15

Bardzo często zachodzi potrzeba wielokrotnego wykonania tej samej samej sekwencji instrukcji, ale z drobna różnica, na przykład z inna wartościa poczatkow a. Funkcja to nazwana sekwencja instrukcji realizujaca specyficzne zadanie. Celem definiowania funkcji jest podzielenie programu na fragmenty odzwierciedlajace sposób myślenia o danym problemie. stosuje się, aby uprościć program i zwiększyć jego czytelność. ukrywaja złożone obliczenia za pomoca jednej instrukcji wywołania funkcji. Utworzenie funkcji pozwala zmniejszyć program poprzez eliminację powtarzajacego się kodu. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 24.10.2012 2 / 15

Składnia definicji funkcji jest następujaca: def nazwa(argumenty): blokinstrukcji Pierwsza linia funkcji zaczyna się od słowa kluczowego def a kończy dwukropkiem. Linia ta nazywa się nagłówkiem funkcji. Nazwa funkcji musi być identyfikatorem (nie może być słowem kluczowym). Lista argumentów może być pusta lub może składać się z dowolnej ilości argumentów oddzielonych przecinkami. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 24.10.2012 3 / 15

W trakcie wykonywania polecenia def następuje utworzenie obiektu funkcji. Następnie do zmiennej, której nazwa jest nazwa funkcji, przypisywane jest odniesienie do obiektu funkcji. Z faktu, że funkcje sa obiektami wynika iż moga być one przechowywane w kolekcjach zbiorów danych i przekazywane jako argumenty do innych funkcji, Przykład Program squares.py dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 24.10.2012 4 / 15

import turtle def draw_multicolor_square(t, length): for c in ["red", "purple", "hotpink", "blue"]: t.color(c); t.forward(length); t.left(90) def main(): wn = turtle.screen(); wn.bgcolor("lightgreen") tess = turtle.turtle(); tess.pensize(3) for length in range(20, 200, 10): draw_multicolor_square(tess, length) tess.forward(10); tess.right(18) wn.mainloop() main() dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 24.10.2012 5 / 15

Bezpośrednio po nagłówku funkcji może, ale nie musi, wystapić komentarz dokumentacyjny. Komentarze dokumentacyjne ujmuje się zazwyczaj w potrójne cudzysłowy, dzięki czemu moga one zajmować dowolnie wiele linii. Składnia definicji funkcji uwzględniajaca komentarz dokumentacyjny jest następujaca: def nazwa(argumenty): """Opcjonalny komentarz dokumentacyjny mogący zajmować wiele linii""" blokinstrukcji dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 24.10.2012 6 / 15

funkcje import turtle def draw_square(t, length): """Niech żółw t narysuje kwadrat o boku length""" for j in range(4): t.forward(length); t.left(90) def main(): win = turtle.screen() win.bgcolor("lightgreen"); win.title("kwadrat") bob = turtle.turtle(); bob.color("blue"); bob.pensize(3); draw_square(bob, 150) win.mainloop() main() dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 24.10.2012 7 / 15

moga wywoływać inne funkcje: import turtle def draw_rectangle(t, width, height): """Niech żółw t narysuje prostokąt o podanej szerokości i wysokości""" for j in range(2): t.forward(width); t.left(90) t.forward(height); t.left(90) def draw_square(t, length): """Niech żółw t narysuje kwadrat o boku length""" draw_rectangle(t, length, length) dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 24.10.2012 8 / 15

W celu zapewnienia, że funkcja jest zdefiniowana przed jej pierwszym użyciem, należy rozumieć, w jakiej kolejności wykonywane sa instrukcje. Kolejność wykonywania instrukcji jest nazywana przepływem sterowania. Wykonanie programu zaczyna się zawsze od jego pierwszej instrukcji. Instrukcje sa wykonywane pojedynczo, w kolejności od góry do dołu. Definicje funkcji nie zmieniaja przepływu sterowania programu. Instrukcje wewnatrz funkcji nie sa wykonywane, aż do momentu gdy funkcja zostanie wywołana. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 24.10.2012 9 / 15

funkcje Niepoprawna kolejność instrukcji import turtle def main(): win = turtle.screen() bob = turtle.turtle() draw_hexagon(bob, 150) win.mainloop() main() def draw_hexagon(t, length): for j in range(6): t.left(60) t.forward(length) dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 24.10.2012 10 / 15

funkcje Poprawna kolejność instrukcji import turtle def draw_hexagon(t, length): for j in range(6): t.left(60) t.forward(length) def main(): win = turtle.screen() bob = turtle.turtle() draw_hexagon(bob, 150) win.mainloop() main() dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 24.10.2012 11 / 15

funkcje Poprawna i polecana kolejność instrukcji import turtle def main(): win = turtle.screen() bob = turtle.turtle() draw_hexagon(bob, 150) win.mainloop() def draw_hexagon(t, length): for j in range(6): t.left(60) t.forward(length) main() dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 24.10.2012 12 / 15

Każda funkcja Pythona posiada wartość zwrotna. Domyślnie wartościa zwrotna jest None, chyba że z wnętrza funkcji zostanie zwrócona inna wartość za pomoca instrukcji o następujacej składni: return wyrażenie Wykonanie powyższej instrukcji powoduje obliczenia wartości wyrażenia wyrażenie, po czym wartość ta staje się wartościa zwrotna danej funkcji. Wartość zwrotna może być pojedyncza wartościa badź krotka wartości. Wartość zwrotna może zostać zignorowana przez wywołujacego funkcję; będzie ona wówczas odrzucona. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 24.10.2012 13 / 15

funkcje import math, turtle def main(): win = turtle.screen(); win.bgcolor("khaki2"); bob = turtle.turtle(); bob.color("blue"); bob.pensize(3); bob.speed(0) draw_circle(bob, 300, 720) win.mainloop() def draw_circle(t, r, n): """Rysuje wielokąt foremny o n bokach""" t.penup(); t.goto(0, -r); t.pendown() length = (2 * math.pi * r) / n for j in range(n): t.left(360 / n); t.forward(length) main() dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 24.10.2012 14 / 15

funkcje Aby zwiększyć czytelność programu z poprzedniego slajdu przeprowadzimy refaktoryzację jego kodu źródłowego. Refaktoryzacja to proces wprowadzania zmian w programie, w wyniku którego zasadniczo nie zmienia się jego funkcjonalność. A zatem, celem refaktoryzacji nie jest wytwarzanie nowej funkcjonalności, ale osiagnięcie odpowiedniej, wysokiej jakości organizacji programu. Przykłady circle.py twocircles.py wheeels.py dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 24.10.2012 15 / 15