158
Rozdział 4.
Radzenie sobie z prawdą
Zwracanie jednej wartości
Przyjrzyj się raz jeszcze przedstawionemu poniżej kodowi naszej funkcji, która w roli argumentu
przyjmuje w tej chwili dowolną wartość, sprawdza w poszukiwaniu samogłosek, po czym
wyświetla znalezione litery na ekranie.
def search4vowels(word):
”””Wyświetla samogłoski znalezione w słowie podanym jako argument.”””
vowels = set(‘aeiou’)
found = vowels.intersection(set(word))
for vowel in found:
print(vowel)
Zmodyfikujemy te dwa wiersze kodu.
return bool(found)
Wywołaj funkcję bool i...
...przekaż jej nazwę struktury
danych, która zawiera wyniki
wyszukiwania samogłosek.
>>> search4vowels(‘mierni’)
True
>>> search4vowels(‘galaktyka’)
True
>>> search4vowels(‘hm’)
False
Instrukcja return
(dzięki zastosowaniu
funkcji bool) zwraca
wartość True lub False.
Podobnie jak we
wcześniejszych
rozdziałach,
korzystamy tutaj
tylko z wybranych
samogłosek (a „y”
do nich nie należy).
Wprowadzenie zmiany polegającej na tym, aby funkcja
search4vowels
zwracała wartość
True
lub
False
w zależności od tego, czy jakieś samogłoski zostaną znalezione, czy też nie,
jest dość prostym zadaniem. Wystarczy, że zastąpimy dwa ostatnie wiersze kodu naszej
funkcji (tworzące pętlę
for
) pojedynczym wierszem, który został przedstawiony poniżej.
Jeśli nie uda się nic znaleźć, nasza funkcja zwróci wartość
False
; w przeciwnym razie
zwrócona zostanie wartość
True
. Po dokonaniu tej zmiany możesz przetestować nową
wersję funkcji, korzystając z powłoki Pythona, aby przekonać się, co się stanie tym razem.
Jeśli nadal widzisz efekty działania poprzedniej wersji funkcji, sprawdź, czy zapisałeś nową
wersję kodu w pliku oraz naciśnij klawisz
F5 w oknie edycji.
Porady maniaka
Nie ulegaj pokusie umieszczania w nawiasie obiektu zwracanego za pomocą instrukcji return do kodu wywołującego. Wcale nie
musisz tego robić. Instrukcja return nie jest wywołaniem funkcji, a zatem użycie w tym miejscu znaków nawiasu nie jest wymogiem
syntaktycznym. Możesz je oczywiście dodać (jeśli
naprawdę
Ci na tym zależy), ale większość programistów Pythona tego nie robi.

Get Python Rusz głową! Wydanie II now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.