Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Closures | Variablenbereich
Fortgeschrittene Python-Techniken
course content

Kursinhalt

Fortgeschrittene Python-Techniken

Fortgeschrittene Python-Techniken

1. Packen und Entpacken
2. Argumente in Funktionen
3. Funktion als Argument
4. Variablenbereich
5. Decorators

book
Closures

Python-Closures treten auf, wenn eine innere Funktion in eine äußere Funktion eingebettet ist und effektiv auf einen Wert aus dem äußeren Bereich verweist. Sie sind nützlich, um globale Variablen zu umgehen.

Closures sind nützlich, wenn Sie einige Methoden verwenden möchten, aber nicht genug, um eine ganze Klasse zu erstellen. Sie helfen, die Dinge einfach und übersichtlich zu halten. Wenn Sie jedoch viele Methoden und Attribute verwalten müssen, ist es besser, stattdessen eine Klasse zu verwenden.

Schauen wir uns einige Beispiele an, um dies besser zu verstehen.

12345678910111213
def calculate_income(percent): def annual_income(amount): return amount * percent / 100 return annual_income # function returned by outer function interest_rate_3 = calculate_income(3) # function assigned to the variable interest_rate_7 = calculate_income(7) print(interest_rate_3(1500)) print(interest_rate_3(2000)) print(interest_rate_7(1500)) print(interest_rate_7(2000))
copy

Diese Funktion berechnet das Jahreseinkommen für eine Bareinlage. Die Closure-Funktionalität ermöglicht es uns, eine Funktion in einer Variablen mit einem bestimmten Prozentsatzwert zu speichern, sodass wir sie mehrfach wiederverwenden können.

Zusammenfassend ermöglichen Closures das Erstellen und Zurückgeben von Funktionen, die sich Werte aus ihrem umgebenden Bereich "merken", was besonders nützlich ist, um spezialisierte Funktionen mit vordefiniertem Verhalten basierend auf bestimmten Parametern zu erstellen.

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 6
We're sorry to hear that something went wrong. What happened?
some-alt