Menu
Coddy logo textTech

Funkcje zagnieżdżone

Lekcja 2 z 12 w kursie Dekoratory w Pythonie w Coddy.

Zanim przejdziemy do dekoratorów, musimy zrozumieć kilka ważnych pojęć związanych z funkcjami w Pythonie.

W Pythonie możemy umieścić jedną funkcję wewnątrz innej; nazywamy ją wtedy funkcją zagnieżdżoną.

Na przykład:

def outer_function():
    print("This is the outer function.")
    
    def inner_function():
        print("This is the inner function.")
    
    inner_function()

W tym przykładzie funkcja outer_function zawiera funkcję zagnieżdżoną o nazwie inner_function.

Po wywołaniu outer_function najpierw zostanie wyświetlony tekst "This is the outer function.", a następnie wywołana zostanie funkcja inner_function. Funkcja inner_function wyświetli wtedy tekst "This is the inner function."

Zauważ, że funkcję inner_function można wywołać tylko z wnętrza funkcji outer_function.

Jeśli spróbujesz wywołać funkcję inner_function poza funkcją outer_function, otrzymasz błąd NameError informujący, że funkcja inner_function nie jest zdefiniowana.

challenge icon

Wyzwanie

Łatwy

Napisz funkcję o nazwie greeting_generator, która przyjmuje imię jako argument i zwraca powitanie zawierające to imię.

Powitanie powinno być generowane przez zagnieżdżoną funkcję o nazwie get_greeting, która przyjmuje imię jako argument i zwraca ciąg znaków o treści "Hello, [name]!".

 

Oto przykład działania funkcji:

>>> greeting = greeting_generator("Alice")
>>> greeting
"Hello, Alice!"

>>> greeting = greeting_generator("Bob")
>>> greeting
"Hello, Bob!"

Ograniczenia

  • Do wygenerowania powitania musisz użyć zagnieżdżonej funkcji o nazwie get_greeting.
  • Powitanie musi zawierać imię przekazane do funkcji greeting_generator.

Spróbuj swoich sił

Wszystkie lekcje w sekcji Dekoratory w Pythonie

Poćwicz samodzielnie: Kompilator Python online