Wyjaśnienie lekcji
Po tej lekcji będziesz potrafić:
Funkcja pakuje wielokrotnego użytku zachowanie pod jedną nazwą. Zdefiniuj ją za pomocą def, wymień wymagane parametry w nawiasach i wetnij ciało funkcji:
def calculate_total(price, quantity):
return price * quantityprice i quantity to parametry. Wartości przekazane w wywołaniu, takim jak calculate_total(12.5, 4), to argumenty.
Najważniejsza różnica w tej lekcji to return kontra print(). print() wyświetla wartość, ale return odsyła wynik do wywołującego. Zwrócone wartości można zapisać, porównać, sformatować, przekazać do innej funkcji lub sprawdzić w testach automatycznych.
Funkcja może zwracać różne rodzaje wartości, w tym napisy, liczby i wartości logiczne. Gdy warunek wyznacza ostateczny wynik, wczesny zwrot może natychmiast zakończyć funkcję i uniknąć zbędnego zagnieżdżania.
Jeśli wykonanie dojdzie do końca funkcji bez return, Python zwraca None.
Wywołujący otrzymuje obliczoną wartość i może jej ponownie użyć.
def estimate_storage(file_size_mb, copies):
return file_size_mb * copies
required_mb = estimate_storage(18, 3)
print(f"Storage: {required_mb} MB")Wynik:
Storage: 54 MBFunkcja oblicza; wywołujący decyduje, jak wyświetlić wynik.
Parametry czynią funkcję pomocniczą wielokrotnego użytku dla różnych wartości.
def format_environment(name, region):
return f"{name.lower()}@{region.upper()}"
print(format_environment("Staging", "eu"))Wynik:
staging@EUZwrócony napis jest budowany z obu argumentów.
Porównanie można zwrócić bezpośrednio.
def is_within_limit(used, limit):
return used <= limit
print(is_within_limit(72, 100))Wynik:
TrueWynikiem jest wartość logiczna, a nie tekst "True".
Wczesny zwrot obsługuje przypadek blokujący przed zwykłym wynikiem.
def deployment_status(failed_checks, is_frozen):
if is_frozen:
return "frozen"
if failed_checks > 0:
return "blocked"
return "ready"
print(deployment_status(0, False))Wynik:
readyGdy Python dojdzie do return, funkcja kończy się natychmiast.
| Cel | Python |
|---|---|
| Zdefiniowanie zachowania wielokrotnego użytku | def function_name(parameters): |
| Odesłanie wyniku do wywołującego | return value |
| Tylko wyświetlenie wartości | print(value) |
| Zakończenie funkcji, gdy reguła jest ostateczna | Wczesny return |
| Brak jawnie zwróconej wartości | Python zwraca None |
return się nie wykona.