CodeGym /Kursy /Python SELF PL /Zwracanie wartości

Zwracanie wartości

Python SELF PL
Poziom 6 , Lekcja 2
Dostępny

8.1 Operator return

W Python operatorreturnodgrywa 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.

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION