Menu
Coddy logo textTech

Nested Functions

Lektion 2 von 12 im Kurs Python-Dekoratoren von Coddy.

Bevor wir uns mit Decorators beschäftigen, müssen wir einige wichtige Konzepte im Zusammenhang mit Python-Funktionen verstehen.

In Python können wir eine Funktion innerhalb einer anderen einfügen, was auch als verschachtelte Funktion (nested function) bezeichnet wird.

Zum Beispiel:

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

In diesem Beispiel enthält outer_function eine verschachtelte Funktion namens inner_function.

Wenn outer_function aufgerufen wird, gibt sie zuerst "This is the outer function." aus und ruft dann inner_function auf. inner_function gibt dann "This is the inner function." aus.

Beachten Sie, dass inner_function nur von innerhalb von outer_function aufgerufen werden kann.

Wenn Sie versuchen, inner_function außerhalb von outer_function aufzurufen, erhalten Sie einen NameError, der besagt, dass inner_function nicht definiert ist.

challenge icon

Aufgabe

Einfach

Schreiben Sie eine Funktion namens greeting_generator, die einen Namen als Argument entgegennimmt und eine Begrüßungsnachricht zurückgibt, die den Namen enthält.

Die Begrüßungsnachricht soll von einer geschachtelten Funktion namens get_greeting erzeugt werden, die den Namen als Argument entgegennimmt und einen String zurückgibt, der "Hello, [name]!" lautet.

 

Hier ist ein Beispiel dafür, wie die Funktion funktionieren sollte:

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

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

Einschränkungen

  • Sie müssen eine geschachtelte Funktion namens get_greeting verwenden, um die Begrüßungsnachricht zu erzeugen.
  • Die Begrüßungsnachricht muss den Namen enthalten, der an greeting_generator übergeben wurde.

Probier es selbst

Alle Lektionen in Python-Dekoratoren

Übe selbstständig: Online-Python-Compiler