Python Decorators im Überblick – IONOS


Zunächst wird im Codebeispiel der Decorator namens „dec“ erstellt, der wiederrum eine Funktion namens „foo“ beinhaltet. Wie Sie sehen, handelt es sich bei dem Funktionsdekorator im Grunde genommen um nichts anderes als eine eigenständige Wrapper-Funktion, die in unserem Fall eine andere Funktion namens „foo“ enthält. In „foo“ wird zunächst ausgegeben, dass wir uns vor dem Funktionsaufruf der dem Dekorator im Parameter „funktion“ übergebenen Funktion befinden. Anschließend wird die Funktion aus dem Parameter ausgeführt. Danach erfolgt erneut ein Python-print-Aufruf, der mitteilt, dass wir uns nach dem Funktionsaufruf der als Parameter übergebenen Funktion befinden.

Der zweite Teil des Codes besteht aus einer Funktionsdefinition der Funktion namens „bar“, die einen Übergabeparameter namens „y“ entgegennimmt. Die Funktionalität von bar ist leicht nachzuvollziehen: Sie gibt den Satz „Funktionsaufruf von bar mit dem Wert y“ auf dem Bildschirm aus, wobei für y der als Parameter übergebene Wert eingesetzt wird. Das Besondere an der bar-Funktion ist, dass sie dekoriert wurde. Dies erkennen Sie im Codebeispiel an der Zeile „@dec“ vor der Funktionsdefinition.

Doch was genau heißt es, dass die Funktion dekoriert wurde? Angenommen, wir hätten den Python Decorator, also die Codezeile „@dec“, weggelassen. Der Funktionsaufruf von „bar“, der unser Codebeispiel abschließt, würde dann folgenden Output liefern:



Source link

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen