In diesem Artikel lernen wir die allgemeine Verwendung von Python-Dekoratoren kennen
Ein Python-Dekorator ist ein Codestück, das Ergänzungen oder Aktualisierungen bestehender Funktionen ermöglicht, ohne dass die zugrunde liegende Funktionsdefinition geändert werden muss. Wenn ein Programm ausgeführt wird, versucht es, einen anderen Teil von sich selbst zu bearbeiten, was als Metaprogrammierung bezeichnet wird.
Decorator ist ein Funktionstyp, der eine Funktion annimmt und eine andere Funktion zurückgibt oder eine Klasse annimmt und eine andere Klasse zurückgibt. Es kann beliebig aufrufbar sein (Funktion, Klasse, Methode usw.) und kann alles zurückgeben; es kann auch eine Methode annehmen.
Python-Dekoratoren sind einfach zu verwenden.
Der Dekorateur akzeptiert ein aufrufbares Objekt, das die spezielle Methode __call()__ implementiert, ein sogenanntes aufrufbares Objekt, das einige Funktionen hinzufügt und ein aufrufbares Objekt zurückgibt.
Die chinesische Übersetzung von@somedecorator def exmple_decorators(): print("Hello tutorialspoint python decorators")
Das Schreiben von Dekorateuren hingegen erfordert ganz andere Fähigkeiten. Dies ist keine einfache Angelegenheit. Sie müssen Folgendes vollständig verstehen:
Ist das Ihre Zeit wert?
Die Antwort ist offensichtlich
Ja. Was sind die Hauptvorteile von Schreibdekorateuren? Ermöglichen sie Ihnen, sich mühelos in Ihrer täglichen Entwicklung hervorzuheben?
Mal sehen!Analyse, Protokollierung und Erkennung
Validierung und Laufzeitprüfungen
Darüber hinaus möchten Sie möglicherweise komplexere benutzerdefinierte Prüfungen für die Dateneingabe und -ausgabe im System implementieren. Dekoratoren helfen Ihnen dabei, all dies zu verwalten und es auf mehrere Funktionen gleichzeitig anzuwenden.
Erstellen Sie einen Rahmen
Viele bekannte Open-Source-Frameworks verwenden es. Das Webanwendungs-Framework
Flask verwendet dies, um URLs an Funktionen weiterzuleiten, die HTTP-Anfragen verarbeiten.
Nicht wiederverwendbaren Code wiederverwendenErwägen Sie die Verwendung der Flakey-API. Sie senden eine Anfrage über HTTP an ein Objekt, das JSON versteht, und in 99,9 % der Fälle funktioniert es. Allerdings führt ein kleiner Prozentsatz aller Anfragen dazu, dass der Server einen internen Fehler zurückgibt, sodass Sie die Anfrage erneut versuchen müssen. In diesem Fall müssen Sie eine Wiederholungslogik hinzufügen.
Die chinesische Übersetzung von
Beispiel# Creating a decorator function def decoratorFunction(demofunction): def innerFunc(): print("Yup...It is a decorated function") demofunction() return innerFunc() # Creating a regular ordinary function def normalFunction(): print("Yup...It is a normal ordinary function") decoratedResult = decoratorFunction(normalFunction) decoratedResult
Yup...It is a decorated function Yup...It is a normal ordinary function
decoratorFunction() ist ein Decorator aus dem vorherigen Beispiel. Einfach ausgedrückt ist ein Dekorator ein Wrapper, der ein Objekt umhüllt (ohne es zu ändern) und dem ursprünglichen Objekt neue Funktionalität hinzufügt. Da dies eine häufig verwendete Technik ist, bietet Python eine Syntaxfunktion (einen sogenannten Decorator), die die Verwendung erleichtert. Betrachten Sie das Folgende als Beispiel: −
Folgefunktion:
@decorated_func def ordinary_function(): print("This is ordinary function")
def ordinary_function(): print("This is ordinary function") decorated = decorated_func(ordinary_func)
Fazit
Ganz gleich, mit welcher Methode Sie das Erstellen von Dekoratoren lernen, Sie werden wahrscheinlich begeistert sein, was Sie mit ihnen erreichen können und wie es (kein Scherz) die Art und Weise, wie Sie Python-Code schreiben, für immer verändern wird!
Das obige ist der detaillierte Inhalt vonWas sind die häufigsten Verwendungszwecke von Python-Dekoratoren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!