0Pricing
Python Academy · Lekcja

Wartości zwracane i zakres

Proszę zrozumieć instrukcje return oraz zakres zmiennych — lokalny i globalny.

Wartości zwracane i zakres to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy zawiera 4 lekcji w sumie.

Wprowadzenie

Zrozumienie instrukcji return i zakresu zmiennych jest podstawą pisania przewidywalnych funkcji Pythona pozbawionych błędów.

Instrukcja return

return expr kończy działanie funkcji i przekazuje expr do miejsca wywołania. return bez wartości przekazuje None.
def double(x):
    return x * 2
print(double(5))

Wczesny return

Wiele instrukcji return jest dozwolonych — pierwsza napotkana kończy funkcję. Jest to przydatne w klauzulach ochronnych.
def abs_val(x):
    if x < 0:
        return -x
    return x
print(abs_val(-7))

Zakres lokalny

Zmienne utworzone wewnątrz funkcji są lokalne — nie istnieją poza nią.
def f():
    x = 10
    print(x)
f()
# print(x)  # NameError

Zakres globalny

Zmienne zdefiniowane na poziomie modułu są globalne. Funkcje mogą ODCZYTYWAĆ zmienne globalne bez ich deklarowania.
name = 'Alice'
def greet():
    print('Hello', name)  # reads global
greet()

Słowo kluczowe global

global x wewnątrz funkcji pozwala ZAPISYWAĆ do zmiennej globalnej. Używaj go oszczędnie — utrudnia analizowanie kodu.
counter = 0
def increment():
    global counter
    counter += 1
increment()
print(counter)

Słowo kluczowe nonlocal

nonlocal x w funkcji zagnieżdżonej pozwala zapisywać do zmiennej z zakresu otaczającego, ale nie globalnego.
def make_counter():
    count = 0
    def inc():
        nonlocal count
        count += 1
        return count
    return inc
c = make_counter()
print(c(), c())

Reguła LEGB

Python rozwiązuje nazwy w następującej kolejności: Local → Enclosing → Global → Built-in. Jest to reguła LEGB.
x = 'global'
def outer():
    x = 'enclosing'
    def inner():
        print(x)  # enclosing
    inner()
outer()

Zwracanie wielu wartości

def f(): return 1, 2, 3 zwraca krotkę. a, b, c = f() rozpakowuje ją.
def stats(lst):
    return min(lst), max(lst), sum(lst)/len(lst)
lo, hi, avg = stats([1,2,3,4,5])
print(lo, hi, avg)

Zwracanie funkcji (domknięcia)

Funkcja może zwracać inną funkcję. Funkcja wewnętrzna pamięta zakres zewnętrzny — jest to domknięcie.
def make_adder(n):
    def adder(x):
        return x + n
    return adder
add5 = make_adder(5)
print(add5(3))

None a brak return

Zawsze zwracaj jawnie None, gdy sygnalizujesz brak wartości. Poleganie na niejawnym None jest poprawne, ale jawny zapis jest czytelniejszy.
def find(lst, val):
    for i, x in enumerate(lst):
        if x == val:
            return i
    return None
print(find([1,2,3], 9))

Szybkie sprawdzenie

Który zakres jest sprawdzany jako ostatni w regule LEGB?

Podsumowanie

return kończy funkcję i zwraca wartość. Zmienne lokalne nie wydostają się poza funkcję. Używaj global/nonlocal do zapisu w zewnętrznych zakresach. LEGB: Local, Enclosing, Global, Built-in.

Kontynuuj naukę

Świetna praca! Przejdź do następnej lekcji, aby dalej się rozwijać.

Często zadawane pytania

Czy lekcja „Wartości zwracane i zakres” jest bezpłatna?

Tak — pełny tekst „Wartości zwracane i zakres” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Wartości zwracane i zakres”?

Proszę zrozumieć instrukcje return oraz zakres zmiennych — lokalny i globalny. Ćwiczysz Python Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Python Academy?

Nie wymagamy żadnego doświadczenia. Python Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Wartości zwracane i zakres”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Python Academy?

Tak. Każda lekcja Python Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Definiowanie i wywoływanie funkcji
  2. Argumenty domyślne i nazwane
  3. args i kwargs
  4. Wartości zwracane i zakres
← Powrót do Python Academy