8.1 Operator return
W Python operatorreturn
odgrywa centralną rolę w funkcjach, ponieważ dzięki niemu funkcja może zwrócić swoją wartość. Zrozumienie jego użycia jest ważne dla skutecznego tworzenia oprogramowania.
Operator return
kończy wykonywanie funkcji i „zwraca” wynik do wywołującego kodu. Jeśli funkcja musi zwrócić wynik, który będzie dalej używany, używa się return
.
Zwracanie wartości
Funkcje mogą zwracać dowolny typ danych, w tym liczby, stringi, obiekty, a nawet inne funkcje i None
. Przykład:
def sum(a, b):
return a + b
result = sum(5, 3)
print(result) # Wyświetli 8
Wynik dodawania a + b
może być przypisany do zmiennej result
.
Zwracanie wielu wartości
Python pozwala zwracać wiele wartości z funkcji za pomocą krotek:
def get_user():
name = "Jan"
age = 25
return name, age
user_name, user_age = get_user()
print(user_name, user_age) # Wyświetli Jan 25
Użycie return
do zakończenia funkcji
Operator return
może być również użyty do natychmiastowego zakończenia funkcji, w tym pętli lub bloków warunkowych wewnątrz funkcji:
def check_password(pswd):
if len(pswd) < 8:
return "Za krótkie hasło"
return "Hasło przyjęte"
return
bez wartości
Jeśli return
jest użyte bez wartości lub w ogóle pominięte, funkcja zwraca None
:
def print_message(text):
print(text)
return
result = print_message("Cześć")
print(result) # Wyświetli None
Operator return
jest potężnym narzędziem w Python, zapewniającym elastyczność w zarządzaniu przepływem wykonania programu. Pozwala funkcjom nie tylko zwracać wartości do dalszego użycia, ale również kontrolować logikę wykonania, co sprawia, że kod jest czystszy i łatwiejszy do zrozumienia.
8.2 Operator pass
W Python jest specjalny operator — pass
, który nic nie robi. Operator pass
używany jest jako wypełniacz w blokach kodu, gdzie wymagane jest coś synktaktycznego, ale funkcjonalnie jeszcze nie określone (musi być jakiś kod, ale jeszcze nie wymyśliliśmy, jaki).
To szczególnie przydatne w przypadkach, gdy pracujesz nad dużym projektem i chcesz ustrukturyzować program, nie wykonując żadnych operacji. Poniżej przedstawione jest kilka przykładów użycia pass
.
W definicjach funkcji:
def my_function():
pass
Tutaj pass
jest używane do określenia funkcji, która na razie nie ma implementacji.
W pętlach i warunkach:
for item in my_list:
pass
Jeśli trzeba stworzyć pętlę, ale nie ma potrzeby wykonywania żadnych działań w jej wnętrzu.
W klasach:
Definicja klasy bez metod i atrybutów, aby zarezerwować nazwę i strukturę klasy na przyszłe użycie.
Operator pass
jest często używany w trakcie tworzenia i testowania, kiedy struktura programu jest już jasna, ale szczegóły implementacji poszczególnych komponentów jeszcze nie są określone. Pozwala to programiście uporządkować kod i stopniowo dodawać funkcjonalność bez psucia działania całej aplikacji.
8.3 Zwracanie funkcji
W Python możliwość funkcji zwracania innej funkcji jest potężnym narzędziem, dzięki wsparciu dla domknięć* i funkcji pierwszej klasy. Ta cecha języka pozwala tworzyć elastyczne i wyraziste programy, korzystając z takich koncepcji jak dekorytory* i fabryki funkcji*.
W Python funkcje są obiektami, co oznacza, że mogą być przypisane do zmiennych, przekazywane innym funkcjom jako argumenty lub zwracane z nich jako wyniki. Ta możliwość sprawia, że funkcje są wyjątkowo potężnymi narzędziami do tworzenia modularnego i łatwo testowalnego kodu.
Stwórzmy dla przykładu funkcję, która będzie generować nam funkcje do potęgowania. Jedna funkcja będzie potęgować do kwadratu, inna do sześcianu itp. Oto jak może wyglądać taki kod:
def power(exponent):
def inner(base):
return base ** exponent
return inner
square = power(2)
print(square(3)) # Wyświetli 9
cube = power(3)
print(cube(3)) # Wyświetli 27
Zwróć uwagę — funkcja power
nie wywołuje funkcji inner
. Zamiast tego wewnątrz funkcji power
zadeklarowana jest funkcja inner
z parametrem base
. Ale funkcja inner
nie jest po prostu zadeklarowana, używa ona parametru exponent
wewnątrz siebie.
GO TO FULL VERSION