Python • kurs podstawowy • lekcja 17
Parametry i return
Funkcja obliczająca pole ma działać dla różnych boków.
Twój cel: Przekażesz argumenty do funkcji i wykorzystasz jej wartość zwracaną.Definiowanie i wywoływanie funkcji.
Co ma zrobić program?
Parametry to nazwy wejść w definicji, a argumenty to konkretne wartości przekazane przy wywołaniu. Przy area(4, 3) wartość 4 trafia do width, a 3 do height.
return kończy bieżące wywołanie i przekazuje wartość do miejsca wywołania. Możesz przypisać ją do zmiennej, porównać albo użyć w dalszym działaniu. print pokazuje tekst na ekranie, a jego wartością zwracaną jest None. Funkcja bez wykonanego return z wartością także zwraca None.
Nazwy parametrów są lokalne dla wywołania. Nie oczekuj, że samo wywołanie utworzy width w programie głównym. Instrukcja po bezwarunkowym return w tym samym bloku nie zostanie wykonana. Dlatego najpierw obliczamy to, co potrzebne, potem zwracamy wynik.
Przewidź przed uruchomieniem
def area(width, height):
return width * height
result = area(4, 3)
print(result + 2)
Porównaj wynik i prześledź mechanizm
Tylko 14. Funkcja zwraca 12 do przypisania result. Dopiero print oblicza 12 + 2 i wyświetla 14. return nie jest instrukcją drukowania.
Wynik kontrolny dla danych z przykładu. Wpisane odpowiedzi użytkownika nie są tutaj powtarzane:
14
| Etap | Dane |
|---|---|
| Argumenty | 4 i 3 |
| Parametry | width = 4, height = 3 |
| return | 12 |
| result + 2 | 14 |
Zmień działający program
Napisz is_even(number), które zwraca bool. Sprawdź 4 i 5, wypisując wynik wywołania.
Pierwsza wskazówka
Zachowaj działający punkt wyjścia. Zlokalizuj konstrukcję wskazaną w poleceniu i zmień tylko ten etap. Przed uruchomieniem zapisz oczekiwany efekt.
Porównaj swoją modyfikację
def is_even(number):
return number % 2 == 0
print(is_even(4))
print(is_even(5))
Wynik kontrolny dla danych z przykładu. Wpisane odpowiedzi użytkownika nie są tutaj powtarzane:
True
False
Znajdź przyczynę problemu
Celowo błędny przykład diagnostyczny. Najpierw postaw hipotezę. Nie kopiuj tej wersji jako poprawnego rozwiązania.
Zamierzone działanie: Oblicz podwojoną wartość i dodaj do niej 1.
def double(number):
print(number * 2)
result = double(3)
print(result + 1)
Trop do diagnozy
Porównaj zamierzony rezultat z typami, nazwami i kolejnością instrukcji. Wskaż pierwsze miejsce, w którym zachowanie odbiega od celu.
Zastosuj w nowej sytuacji
Wskazówka do rozpoczęcia
Argumenty są wejściem, return daje wynik do dalszego użycia. Wyświetlanie i obliczanie pełnią różne role.
Zacznij od przygotowania danych. Pierwsza instrukcja przykładowego rozwiązania:
def total_price(price, count):
Rozwiązanie do samodzielnej kontroli
def total_price(price, count):
return price * count
change = 20 - total_price(4, 3)
print(change)
print(total_price(4, 0))
Wynik kontrolny dla danych z przykładu. Wpisane odpowiedzi użytkownika nie są tutaj powtarzane:
8
0
Porównaj dane wejściowe, wynik i powód użycia konstrukcji. Inna wersja kodu jest poprawna, jeśli realizuje te same wymagania.
Co zabierasz do kolejnego programu?
Argumenty są wejściem, return daje wynik do dalszego użycia. Wyświetlanie i obliczanie pełnią różne role.
Bez zaglądania do przykładu wyjaśnij własnymi słowami, jak główna konstrukcja prowadzi od danych do wyniku. Potem sprawdź wyjaśnienie, uruchamiając swój program.