Nie zawsze wiesz, co ona zawiera. Masz jednak klucz, możesz ją otworzyć i do niej zajrzeć. Możesz zawsze użyć skrzynki do pewnych zadań, które potrafi wykonać za pomocą tego, co zawiera w środku. Ale nie musisz dokładnie wiedzieć, jak to robi – wystarczy, że wiesz, jaki będzie ostateczny wynik działania skrzynki, i jak sprawić, aby to osiągnąć. Natomiast szczegóły pozostawiasz jej, czyli funkcji – owej czarnej skrzynce.
Jak jest zbudowana funkcja w języku Python 3?
RuNuN2yUxWN6e1
Infografika przedstawia sposób budowania funkcji w języku Python. 1. Nazwa funkcji. Funkcję warto nazywać tak, aby później odzwierciedlała swoją funkcjonalność, 2. Parametry. Funkcja może posiadać różne parametry. W tej chwili skup się na tym, aby tworzyć proste funkcje z maksymalnie kilkoma parametrami, 3. Docstring. Krótki opis funkcji, widoczny dla innych programistów, 4. Ciało funkcji. Wszystkie operacje, które są wykonywane wewnątrz funkcji, 5. Return. Wartość zwracana przez funkcję - w tej chwili zapamiętaj, że może ich być wiele.
Na zdjęciu widoczny kod w ramce. Kolejne linie kodu:
1 Python 3.6.7 otworzyć nawias default, Oct 22 2018, 11:32:17 zamknąć nawias
2 otworzyć kwadratowy nawias GCC 8.2.0 zamknąć kwadratowy nawias on linux
3 Type cudzysłów help cudzysłów, copyright”, „credits” or „license” otworzyć i zamknąć nawias cudzysłów for more information.
4 3 znaki większe niż def nazwa_funkcji otworzyć nawias parametr podkreślnik 1, parametr podkreślnik 2 zamknąć nawias:
5 trzykrotny apostrof trzykrotny znak większe niż
6 parametr podkreślnik 1 dywiz int
7 parametr podkreślnik 2 dywiz int
8 zwraca sumę parametrów - int
9 trzykrotny apostrof
10 wynik = parametr podkreślnik 1 + parametr podkreślnik 2
11 return wynik
12
13 trzykrotny znak większe niż
Infografika przedstawia sposób budowania funkcji w języku Python. 1. Nazwa funkcji. Funkcję warto nazywać tak, aby później odzwierciedlała swoją funkcjonalność, 2. Parametry. Funkcja może posiadać różne parametry. W tej chwili skup się na tym, aby tworzyć proste funkcje z maksymalnie kilkoma parametrami, 3. Docstring. Krótki opis funkcji, widoczny dla innych programistów, 4. Ciało funkcji. Wszystkie operacje, które są wykonywane wewnątrz funkcji, 5. Return. Wartość zwracana przez funkcję - w tej chwili zapamiętaj, że może ich być wiele.
Na zdjęciu widoczny kod w ramce. Kolejne linie kodu:
1 Python 3.6.7 otworzyć nawias default, Oct 22 2018, 11:32:17 zamknąć nawias
2 otworzyć kwadratowy nawias GCC 8.2.0 zamknąć kwadratowy nawias on linux
3 Type cudzysłów help cudzysłów, copyright”, „credits” or „license” otworzyć i zamknąć nawias cudzysłów for more information.
4 3 znaki większe niż def nazwa_funkcji otworzyć nawias parametr podkreślnik 1, parametr podkreślnik 2 zamknąć nawias:
5 trzykrotny apostrof trzykrotny znak większe niż
6 parametr podkreślnik 1 dywiz int
7 parametr podkreślnik 2 dywiz int
8 zwraca sumę parametrów - int
9 trzykrotny apostrof
10 wynik = parametr podkreślnik 1 + parametr podkreślnik 2
11 return wynik
12
13 trzykrotny znak większe niż
Funkcja w Python 3 – definicja
Linia 1. def nazwa podkreślnik funkcji otwórz nawias okrągły parametr podkreślnik 1 przecinek parametr podkreślnik 2 zamknij nawias okrągły dwukropek.
Linia 2. apostrof apostrof apostrof.
Linia 3. parametr podkreślnik 1 minus int.
Linia 4. parametr podkreślnik 2 minus int.
Linia 5. zwraca sumę parametrów minus int.
Linia 6. apostrof apostrof apostrof.
Linia 7. wynik znak równości parametr podkreślnik 1 plus parametr podkreślnik 2.
Linia 8. return wynik.
def nazwa_funkcji(parametr_1, parametr_2):
'''
parametr_1 - int
parametr_2 - int
zwraca sumę parametrów - int
'''
wynik = parametr_1 + parametr_2
return wynik
FunkcjęfunkcjaFunkcję w języku Python definiujesz po to, aby móc używać jej później w wielu miejscach w swoim programie. Zauważ, że w powyższym przykładzie funkcja zawiera dwa parametryparametrparametry: parametr_1 i parametr_2. Następnie w jej wnętrzu, a więc w kodzie, który jest wykonywany, oba te parametry są sumowane, a suma przypisywana jest do zmiennej wynik. Na końcu zmienna wynik jest zwracana przez słowo kluczowe return.
Inne sposoby definiowania parametrów funkcji
W Pythonie możesz przekazywać do funkcji określoną liczbę parametrów, które zdefiniujesz w funkcji. Takie parametry nazywa się parametrami wymaganymi.
Linia 1. Python 3 kropka 6 kropka 7 otwórz nawias okrągły default przecinek Oct 22 2018 przecinek 11 dwukropek 32 dwukropek 17 zamknij nawias okrągły.
Linia 2. otwórz nawias kwadratowy GCC 8 kropka 2 kropka 0 zamknij nawias kwadratowy on linux.
Linia 3. Type cudzysłów help cudzysłów przecinek cudzysłów copyright cudzysłów przecinek cudzysłów credits cudzysłów or cudzysłów license otwórz nawias okrągły zamknij nawias okrągły cudzysłów for more information kropka.
Linia 4. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny def nazwa podkreślnik funkcji otwórz nawias okrągły parametr podkreślnik 1 przecinek parametr podkreślnik 2 zamknij nawias okrągły dwukropek.
Linia 5. apostrof apostrof apostrof.
Linia 6. parametr podkreślnik 1 minus int.
Linia 7. parametr podkreślnik 2 minus int.
Linia 8. zwraca sumę parametrów minus int.
Linia 9. apostrof apostrof apostrof.
Linia 10. wynik znak równości parametr podkreślnik 1 plus parametr podkreślnik 2.
Linia 11. return wynik.
Linia 13. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny nazwa podkreślnik funkcji otwórz nawias okrągły 12 przecinek 45 zamknij nawias okrągły.
Linia 14. 57.
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license()" for more information.
>>> def nazwa_funkcji(parametr_1, parametr_2):
'''
parametr_1 - int
parametr_2 - int
zwraca sumę parametrów - int
'''
wynik = parametr_1 + parametr_2
return wynik
>>> nazwa_funkcji(12, 45)
57
Podczas wywoływania funkcji trzeba podać wszystkie parametry, inaczej wykonanie funkcji zakończy się błędem.
Linia 1. Python 3 kropka 6 kropka 7 otwórz nawias okrągły default przecinek Oct 22 2018 przecinek 11 dwukropek 32 dwukropek 17 zamknij nawias okrągły.
Linia 2. otwórz nawias kwadratowy GCC 8 kropka 2 kropka 0 zamknij nawias kwadratowy on linux.
Linia 3. Type cudzysłów help cudzysłów przecinek cudzysłów copyright cudzysłów przecinek cudzysłów credits cudzysłów or cudzysłów license otwórz nawias okrągły zamknij nawias okrągły cudzysłów for more information kropka.
Linia 4. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny def nazwa podkreślnik funkcji otwórz nawias okrągły parametr podkreślnik 1 przecinek parametr podkreślnik 2 zamknij nawias okrągły dwukropek.
Linia 5. apostrof apostrof apostrof.
Linia 6. parametr podkreślnik 1 minus int.
Linia 7. parametr podkreślnik 2 minus int.
Linia 8. zwraca sumę parametrów minus int.
Linia 9. apostrof apostrof apostrof.
Linia 10. wynik znak równości parametr podkreślnik 1 plus parametr podkreślnik 2.
Linia 11. return wynik.
Linia 13. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny nazwa podkreślnik funkcji otwórz nawias okrągły 12 zamknij nawias okrągły.
Linia 14. Traceback otwórz nawias okrągły most recent call last zamknij nawias okrągły dwukropek.
Linia 15. File cudzysłów otwórz nawias ostrokątny pyshell kratka 3 zamknij nawias ostrokątny cudzysłów przecinek line 1 przecinek in otwórz nawias ostrokątny module zamknij nawias ostrokątny.
Linia 16. nazwa podkreślnik funkcji otwórz nawias okrągły 12 zamknij nawias okrągły.
Linia 17. TypeError dwukropek nazwa podkreślnik funkcji otwórz nawias okrągły zamknij nawias okrągły missing 1 required positional argument dwukropek apostrof parametr podkreślnik 2 apostrof.
Linia 18. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny.
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license()" for more information.
>>> def nazwa_funkcji(parametr_1, parametr_2):
'''
parametr_1 - int
parametr_2 - int
zwraca sumę parametrów - int
'''
wynik = parametr_1 + parametr_2
return wynik
>>> nazwa_funkcji(12)
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
nazwa_funkcji(12)
TypeError: nazwa_funkcji() missing 1 required positional argument: 'parametr_2'
>>>
Parametry mogą mieć wartości domyślne, które zostaną przyjęte, o ile nie podasz takiego parametru jawnie podczas wykonywania funkcji. Oto przykład zdefiniowania takiej wartości domyślnej.
Linia 1. Python 3 kropka 6 kropka 7 otwórz nawias okrągły default przecinek Oct 22 2018 przecinek 11 dwukropek 32 dwukropek 17 zamknij nawias okrągły.
Linia 2. otwórz nawias kwadratowy GCC 8 kropka 2 kropka 0 zamknij nawias kwadratowy on linux.
Linia 3. Type cudzysłów help cudzysłów przecinek cudzysłów copyright cudzysłów przecinek cudzysłów credits cudzysłów or cudzysłów license otwórz nawias okrągły zamknij nawias okrągły cudzysłów for more information kropka.
Linia 4. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny def nazwa podkreślnik funkcji otwórz nawias okrągły parametr podkreślnik 1 przecinek parametr podkreślnik 2 znak równości 10 zamknij nawias okrągły dwukropek.
Linia 5. apostrof apostrof apostrof.
Linia 6. parametr podkreślnik 1 minus int.
Linia 7. parametr podkreślnik 2 minus int otwórz nawias okrągły wartość domyślna 10 zamknij nawias okrągły.
Linia 8. zwraca sumę parametrów minus int.
Linia 9. apostrof apostrof apostrof.
Linia 10. wynik znak równości parametr podkreślnik 1 plus parametr podkreślnik 2.
Linia 11. return wynik.
Linia 13. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny nazwa podkreślnik funkcji otwórz nawias okrągły 2 przecinek 4 zamknij nawias okrągły.
Linia 14. 6.
Linia 15. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny nazwa podkreślnik funkcji otwórz nawias okrągły 2 zamknij nawias okrągły.
Linia 16. 12.
Linia 17. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny.
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license()" for more information.
>>> def nazwa_funkcji(parametr_1, parametr_2 = 10):
'''
parametr_1 - int
parametr_2 - int (wartość domyślna 10)
zwraca sumę parametrów - int
'''
wynik = parametr_1 + parametr_2
return wynik
>>> nazwa_funkcji(2, 4)
6
>>> nazwa_funkcji(2)
12
>>>
Parametry domyślne możesz wykorzystywać również w inny sposób. Pozwalają one wywoływać funkcję w dosyć czytelny sposób, podając nazwy parametrów przy wywołaniu – oto przykład.
Linia 1. Python 3 kropka 6 kropka 7 otwórz nawias okrągły default przecinek Oct 22 2018 przecinek 11 dwukropek 32 dwukropek 17 zamknij nawias okrągły.
Linia 2. otwórz nawias kwadratowy GCC 8 kropka 2 kropka 0 zamknij nawias kwadratowy on linux.
Linia 3. Type cudzysłów help cudzysłów przecinek cudzysłów copyright cudzysłów przecinek cudzysłów credits cudzysłów or cudzysłów license otwórz nawias okrągły zamknij nawias okrągły cudzysłów for more information kropka.
Linia 4. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny def nazwa podkreślnik funkcji otwórz nawias okrągły parametr podkreślnik 1 znak równości 20 przecinek parametr podkreślnik 2 znak równości 10 zamknij nawias okrągły dwukropek.
Linia 5. apostrof apostrof apostrof.
Linia 6. parametr podkreślnik 1 minus int otwórz nawias okrągły wartość domyślna 20 zamknij nawias okrągły.
Linia 7. parametr podkreślnik 2 minus int otwórz nawias okrągły wartość domyślna 10 zamknij nawias okrągły.
Linia 8. zwraca sumę parametrów minus int otwórz nawias okrągły domyślnie 30 zamknij nawias okrągły.
Linia 9. apostrof apostrof apostrof.
Linia 10. wynik znak równości parametr podkreślnik 1 plus parametr podkreślnik 2.
Linia 11. return wynik.
Linia 13. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny nazwa podkreślnik funkcji otwórz nawias okrągły zamknij nawias okrągły.
Linia 14. 30.
Linia 15. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny nazwa podkreślnik funkcji otwórz nawias okrągły parametr podkreślnik 1 znak równości 2 przecinek parametr podkreślnik 2 znak równości 3 zamknij nawias okrągły.
Linia 16. 5.
Linia 17. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny nazwa podkreślnik funkcji otwórz nawias okrągły 2 przecinek parametr podkreślnik 2 znak równości 4 zamknij nawias okrągły.
Linia 18. 6.
Linia 19. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny nazwa podkreślnik funkcji otwórz nawias okrągły parametr podkreślnik 2 znak równości 3 zamknij nawias okrągły.
Linia 20. 23.
Linia 21. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny.
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license()" for more information.
>>> def nazwa_funkcji(parametr_1 = 20, parametr_2 = 10):
'''
parametr_1 - int (wartość domyślna 20)
parametr_2 - int (wartość domyślna 10)
zwraca sumę parametrów - int (domyślnie 30)
'''
wynik = parametr_1 + parametr_2
return wynik
>>> nazwa_funkcji()
30
>>> nazwa_funkcji(parametr_1=2, parametr_2=3)
5
>>> nazwa_funkcji(2, parametr_2=4)
6
>>> nazwa_funkcji(parametr_2=3)
23
>>>
W powyższym przykładzie możesz zaobserwować różne sposoby wywoływania funkcji, co w połączeniu z różnymi wartościami domyślnymi parametrów daje różne wyniki.
Ciekawostka
Istnieje wiele wbudowanych funkcji, które pozwolą ci wykonać często powtarzane zadania programistyczne, np. czytanie/zapisywanie plików. To wszystko, aby szybciej pisać bardziej skomplikowane programy.
Aby utworzyć nazwaną funkcję z własnym kodem, zastosuj słowo def – skrót od słowa „definiuj”.
Zapamiętaj kilka ciekawych cech funkcji w Python:
można ustalać wartości domyślne wybranych argumentów,
można wywoływać funkcję z użyciem nazw argumentów w dowolnej kolejności,
jeśli funkcja nie zwraca jawnie żadnej wartości, wówczas zwraca typ None.
Ciekawostka
W Pythonie – w przeciwieństwie do takich języków jak C++, Java, Pascal – funkcja może być argumentem jakieś funkcji, może być wynikiem (wartością zwracaną) funkcji, można ją podstawiać pod zmienne itp.
Definiujemy własną funkcję
W tym ćwiczeniu zdefiniujesz własną funkcję, która na podstawie dwóch wartości (bieżącego roku i roku urodzenia) będzie obliczała wiek osoby. Aby ta funkcja była dostępna dla każdego, opiszesz jej sposób wykonywania (docstring).
Linia 1. def wylicz podkreślnik wiek otwórz nawias okrągły rok podkreślnik aktualny przecinek rok podkreślnik urodzenia zamknij nawias okrągły dwukropek.
Linia 2. apostrof apostrof apostrof.
Linia 3. rok podkreślnik aktualny np kropka 2019 minus int.
Linia 4. rok podkreślnik urodzenia np kropka 1974 minus int.
Linia 5. funkcja zwraca wyliczony wiek minus int.
Linia 6. apostrof apostrof apostrof.
Linia 7. wyliczony podkreślnik wiek znak równości rok podkreślnik aktualny minus rok podkreślnik urodzenia.
Linia 8. return wyliczony podkreślnik wiek.
def wylicz_wiek(rok_aktualny, rok_urodzenia):
'''
rok_aktualny np. 2019 - int
rok_urodzenia np. 1974 - int
funkcja zwraca wyliczony wiek - int
'''
wyliczony_wiek = rok_aktualny - rok_urodzenia
return wyliczony_wiek
Rlg9DAKUpNmTg
Ilustracja przedstawiająca fragment kodu. Definiowanie własnej funkcji. Na zdjęciu widoczny kod w ramce. Kolejne linie kodu: 1 Python 3.6.7 otworzyć nawias default, Oct 22 2018, 11:32:17 zamknąć nawias 2 otworzyć kwadratowy nawias GCC 8.2.0 zamknąć kwadratowy nawias on linux 3 Type cudzysłów help cudzysłów, cudzysłów copyright cudzysłów, cudzysłów credits cudzysłów or cudzysłów license cudzysłów otworzyć i zamknąć nawias cudzysłów for more information. 4 trzykrotnie znak większe nić def wylicz podkreślnik wiek otworzyć nawias rok podkreślnik aktualny, rok podkreślnik urodzenia): 5 trzykrotny apostrof 6 rok podkreślnik aktualny np. 2019 dywiz int 7 rok podkreślnik urodzenia no. 1974 dywiz int 8 funkcja zwraca wyliczony wiek dywiz int 9 trzykrotny apostrof 10 wyliczony wiek = rok podkreślnik aktualny + rok podkreślnik urodzenia 11 return wyliczony podkreślnik wiek 12 13 trzykrotny znak większe niż
Zwróć uwagę na kolejne elementy, które musisz zastosować:
słowo kluczowe def,
nazwę funkcji,
parametry funkcji,
opis funkcji – docstring,
obliczenie wieku przez zastosowanie zmiennej wewnątrz funkcji i operatora odejmowania,
słowo kluczowe return.
Ważne!
Jeżeli przy słowie kluczowym return nie stoi żadne wyrażenie inne niż None lub funkcja nie zawiera słowa kluczowego return, to w języku Python funkcja zawsze zwraca wartość None.
Ćwiczenie 1
W środowisku IDE stwórz definicję funkcji, ktora będzie mnożyć dwa parametry, a następnie spróbuj ją wywołać dla różnych danych wejściowych, aby uzyskać różne wyniki.
Funkcja print()
Polecenie 1
W środowisku Python 3 użyj funkcji print() jak we fragmencie kodu poniżej. Zauważ, że system operacyjny nie ma tu większego znaczenia.
Linia 1. Python 3 kropka 6 kropka 7 otwórz nawias okrągły default przecinek Oct 22 2018 przecinek 11 dwukropek 32 dwukropek 17 zamknij nawias okrągły.
Linia 2. otwórz nawias kwadratowy GCC 8 kropka 2 kropka 0 zamknij nawias kwadratowy on linux.
Linia 3. Type cudzysłów help cudzysłów przecinek cudzysłów copyright cudzysłów przecinek cudzysłów credits cudzysłów or cudzysłów license otwórz nawias okrągły zamknij nawias okrągły cudzysłów for more information kropka.
Linia 4. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny print otwórz nawias okrągły apostrof To jest podstawowa funkcja minus wypisuje na ekran apostrof zamknij nawias okrągły.
Linia 5. To jest podstawowa funkcja minus wypisuje na ekran.
Linia 6. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny.
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license()" for more information.
>>> print('To jest podstawowa funkcja - wypisuje na ekran')
To jest podstawowa funkcja - wypisuje na ekran
>>>
R1Yzv2TwZUoOv
Ćwiczenie 2
Połącz w pary odpowiednie treści.
Funkcja w Python 3 a w Python 2
Możliwe odpowiedzi: 1. różni się – w Python 2 jest poleceniem, a nie funkcją., 2. może przyjąć kilka argumentów/parametrów., 3. działa tak samo w Windows i w Linuksie. Funkcja print w języku Python 3 Możliwe odpowiedzi: 1. różni się – w Python 2 jest poleceniem, a nie funkcją., 2. może przyjąć kilka argumentów/parametrów., 3. działa tak samo w Windows i w Linuksie. Funkcja w Pythonie Możliwe odpowiedzi: 1. różni się – w Python 2 jest poleceniem, a nie funkcją., 2. może przyjąć kilka argumentów/parametrów., 3. działa tak samo w Windows i w Linuksie.
Połącz w pary odpowiednie treści.
Funkcja w Python 3 a w Python 2
Możliwe odpowiedzi: 1. różni się – w Python 2 jest poleceniem, a nie funkcją., 2. może przyjąć kilka argumentów/parametrów., 3. działa tak samo w Windows i w Linuksie. Funkcja print w języku Python 3 Możliwe odpowiedzi: 1. różni się – w Python 2 jest poleceniem, a nie funkcją., 2. może przyjąć kilka argumentów/parametrów., 3. działa tak samo w Windows i w Linuksie. Funkcja w Pythonie Możliwe odpowiedzi: 1. różni się – w Python 2 jest poleceniem, a nie funkcją., 2. może przyjąć kilka argumentów/parametrów., 3. działa tak samo w Windows i w Linuksie.
Ważne!
Przyjrzyj się dokładnie utworzonej funkcji print() i jej parametrowi.
Oto funkcja print i jej parametry.
Linia 1. print otwórz nawias okrągły apostrof To jest podstawowa funkcja minus wypisuje na ekran apostrof zamknij nawias okrągły.
print('To jest podstawowa funkcja - wypisuje na ekran')
print – nazwa funkcji; w języku angielskim oznacza „drukuj”, więc drukuje/wypisuje informacje tekstowe na ekranie, ale nie tylko na ekranie;
'To jest podstawowa funkcja - wypisuje na ekran' – argument, w postaci ciągu znaków, przekazywany do funkcji. Podprogramy mogą przyjmować różne parametry. Do funkcji print również można przekazać ich więcej. Aby dowiedzieć się więcej na temat możliwych operacji, warto zajrzeć do dokumentacji.
Ciekawostka
Oto przykład oryginalnej dokumentacji do funkcji print():
Print objects to the text stream file, separated by sep and followed by end. sep, end, file and flush, if present, must be given as keyword arguments. All non‑keyword arguments are converted to strings like str() does and written to the stream, separated by sep and followed by end. Both sep and end must be strings; they can also be None, which means to use the default values. If no objects are given, print() will just write end. The file argument must be an object with a write(string) method; if it is not present or None, sys.stdout will be used. Since printed arguments are converted to text strings, print() cannot be used with binary mode file objects. For these, use file.write(...) instead. Whether output is buffered is usually determined by file, but if the flush keyword argument is true, the stream is forcibly flushed.
Changed in version 3.3: Added the flush keyword argument.
Ćwiczenie 3
Napisz funkcję z przypisaniem wyniku do zmiennej, a następnie wydrukuj ją na ekranie, korzystając z funkcji print.
RPPsZelhXunUA
Na zdjęciu widoczny kod w ramce. Kolejne linie kodu: 1 Python 3.6.7 otworzyć nawias default, Oct 22 2018, 11:32:17 zamknąć nawias 2 otworzyć kwadratowy nawias GCC 8.2.0 zamknąć kwadratowy nawias on linux 3 Type cudzysłów help cudzysłów, cudzysłów copyright cudzysłów, cudzysłów credits cudzysłów or cudzysłów license cudzysłów otworzyć i zamknąć nawias cudzysłów for more information. 4 trzykrotny znak większe niż def wylicz podkreślnik wiek otworzyć nawias rok podkreślnik aktualny, rok podkreślnik urodzenia zamknąć nawias dwukropek 5 trzykrotny apostrof 6 rok podkreślnik aktualny np. 2019 dywiz int 7 rok podkreślnik urodzenia no. 1974 dywiz int 8 funkcja zwraca wyliczony wiek dywiz int 9 trzykrotny apostrof 10 wyliczony wiek = rok podkreślnik aktualny + rok podkreślnik urodzenia 11 return wyliczony_wiek 12 13 trzykrotny znak większe niż wylicz podkreślnik wiek otworzyć nawias 2019, 1974 zamknąć nawias 14 45 15 trzykrotnie znak większe niż moj podkreślnik wiek = wylicz podkreślnik wiek otworzyć nawias 2019, 1985 zamknąć nawias 16 trzykrotny znak większe niż print otworzyć nawias moj podkreślnik wiek zamknąć nawias 17 34 18 trzykrotny znak większe niż
Funkcja zwracająca więcej niż jeden parametr
W języku Python funkcja może zwrócić więcej niż jedną wartość. Zastanów się, jak zapisać funkcję, która na podstawie roku urodzenia oblicza wiek osoby i od razu sprawdza, czy to osoba pełnoletnia. Funkcja ta ma zwrócić obie te informacje. Zapisujesz to w następujący sposób:
Linia 1. return wartosc podkreślnik 1 przecinek wartosc podkreślnik 2.
return wartosc_1, wartosc_2
Przeanalizuj taki kod funkcji:
Linia 1. def jaki podkreślnik wiek otwórz nawias okrągły rok podkreślnik urodzenia przecinek aktualny podkreślnik rok znak równości 2019 zamknij nawias okrągły dwukropek.
Linia 2. apostrof apostrof apostrof.
Linia 3. funkcja zwraca wiek w latach minus int.
Linia 4. oraz informację czy osoba jest pełnoletnia minus bool.
Linia 5. apostrof apostrof apostrof.
Linia 7. wiek znak równości aktualny podkreślnik rok minus rok podkreślnik urodzenia.
Linia 9. if wiek zamknij nawias ostrokątny 17 dwukropek.
Linia 10. dorosla znak równości True.
Linia 11. else dwukropek.
Linia 12. dorosla znak równości False.
Linia 14. return wiek przecinek dorosla.
def jaki_wiek(rok_urodzenia, aktualny_rok=2019):
'''
funkcja zwraca wiek w latach - int
oraz informację czy osoba jest pełnoletnia - bool
'''
wiek = aktualny_rok - rok_urodzenia
if wiek > 17:
dorosla = True
else:
dorosla = False
return wiek, dorosla
W ten sposób możesz sprawić, że funkcja będzie bardziej przydatna, gdy zrobi kilka rzeczy, a ty tylko poznasz wyniki. To naprawdę bardzo ciekawy sposób programowania. Musisz tylko pamiętać, aby w wywołaniu takiej funkcji odpowiednio odebrać te dane.
Linia 1. Python 3 kropka 6 kropka 7 otwórz nawias okrągły default przecinek Oct 22 2018 przecinek 11 dwukropek 32 dwukropek 17 zamknij nawias okrągły.
Linia 2. otwórz nawias kwadratowy GCC 8 kropka 2 kropka 0 zamknij nawias kwadratowy on linux.
Linia 3. Type cudzysłów help cudzysłów przecinek cudzysłów copyright cudzysłów przecinek cudzysłów credits cudzysłów or cudzysłów license otwórz nawias okrągły zamknij nawias okrągły cudzysłów for more information kropka.
Linia 4. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny def jaki podkreślnik wiek otwórz nawias okrągły rok podkreślnik urodzenia przecinek aktualny podkreślnik rok znak równości 2019 zamknij nawias okrągły dwukropek.
Linia 5. apostrof apostrof apostrof.
Linia 6. funkcja zwraca wiek w latach minus int.
Linia 7. oraz informację czy osoba jest pełnoletnia minus bool.
Linia 8. apostrof apostrof apostrof.
Linia 9. wiek znak równości aktualny podkreślnik rok minus rok podkreślnik urodzenia.
Linia 10. if wiek zamknij nawias ostrokątny 17 dwukropek.
Linia 11. dorosla znak równości True.
Linia 12. else dwukropek.
Linia 13. dorosla znak równości False.
Linia 14. return wiek przecinek dorosla.
Linia 16. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny jaki podkreślnik wiek otwórz nawias okrągły 1974 zamknij nawias okrągły.
Linia 17. otwórz nawias okrągły 45 przecinek True zamknij nawias okrągły.
Linia 18. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny jaki podkreślnik wiek otwórz nawias okrągły 1974 przecinek 2019 zamknij nawias okrągły.
Linia 19. otwórz nawias okrągły 45 przecinek True zamknij nawias okrągły.
Linia 20. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny a przecinek b znak równości jaki podkreślnik wiek otwórz nawias okrągły 1974 przecinek 2019 zamknij nawias okrągły.
Linia 21. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny a.
Linia 22. 45.
Linia 23. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny b.
Linia 24. True.
Linia 25. zamknij nawias ostrokątny zamknij nawias ostrokątny zamknij nawias ostrokątny.
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license()" for more information.
>>> def jaki_wiek(rok_urodzenia, aktualny_rok=2019):
'''
funkcja zwraca wiek w latach - int
oraz informację czy osoba jest pełnoletnia - bool
'''
wiek = aktualny_rok - rok_urodzenia
if wiek > 17:
dorosla = True
else:
dorosla = False
return wiek, dorosla
>>> jaki_wiek(1974)
(45, True)
>>> jaki_wiek(1974, 2019)
(45, True)
>>> a, b = jaki_wiek(1974, 2019)
>>> a
45
>>> b
True
>>>
Ważne!
Zwróć uwagę, że w linii, w której przypisujesz wynik funkcji do zmiennych a i b, używasz przecinka między tymi zmiennymi. Tyle, ile wartości zwraca funkcja, tyle musisz zarezerwować zmiennych odbierających.
Słownik
funkcja
funkcja
wydzielona część kodu, nazywana także podprogramem, wykonująca określone operacje, możliwa do wywołania wiele razy podczas działania programu
parametr
parametr
umożliwia przekazanie argumentów, czyli danych wejściowych, do funkcji. W większości języków programowania wartości parametrów definiuje się podczas procesu deklaracji podprogramu