


Was sind die häufigsten Verwendungszwecke von Python-Dekoratoren?
In diesem Artikel lernen wir die allgemeine Verwendung von Python-Dekoratoren kennen
Was sind Python-Dekoratoren?
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 vonBeispiel
lautet:Beispiel
@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:
- Schließen
- Verwenden Sie Funktionen als erstklassige Parameter,
- Variable Parameter
- Parameter entpacken und
- Sogar einige Informationen darüber, wie Python seinen Quellcode lädt.
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
Wir müssen oft gezielt messen, was passiert, und Metriken sammeln, die verschiedene Vorgänge quantifizieren, insbesondere bei großen Anwendungen. Dekorateure können diese Anforderung auf äußerst lesbare und einfache Weise lösen, indem sie diese bemerkenswerten Ereignisse in ihre eigenen Funktionen oder Methoden kapseln.
Validierung und Laufzeitprüfungen
Pythons Typsystem ist stark typisiert, aber dynamisch. Obwohl es viele Vorteile hat, bedeutet es auch, dass einige Probleme möglicherweise zur Kompilierungszeit von statisch typisierten Sprachen wie Java erkannt werden.
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
Sobald Sie lernen, Dekoratoren zu schreiben, werden Sie von ihrer prägnanten Syntax profitieren, die es Ihnen ermöglicht, der Sprache problemlos Semantik hinzuzufügen. Dies kommt der Erweiterung der Python-Syntax am nächsten.
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 wiederverwendenMit eleganter Funktionssyntax, Unterstützung für funktionale Programmierung und einem vollständigen Objektsystem bietet Python einige sehr leistungsstarke Tools zum Kapseln von Code in eine leicht wiederverwendbare Form. Allerdings können diese Tools allein bestimmte Code-Wiederverwendungsmuster nicht erfassen.
Erwä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
Beispiellautet:
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
Nach dem Login kopieren
Ausgabe# 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
Bei der Ausführung generiert das obige Programm die folgende Ausgabe:
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)
Dekorateure zu schreiben ist zunächst schwierig. Es ist auch kein Hexenwerk, aber es erfordert viel Aufwand, Details zu lernen und zu verstehen, mit denen sich viele Entwickler nie beschäftigen. Dies wirkt sich zu Ihrem Vorteil aus. Wenn Sie die Person im Team werden, die lernt, Dekoratoren richtig zu schreiben und Dekoratoren schreibt, die Fragen aus der realen Welt beantworten, werden andere Entwickler Ihre Dekoratoren verwenden. Sobald die harte Arbeit, Dekorateure zu schreiben, vorbei ist, ist ihre Verwendung sehr einfach. Dies kann die positiven Auswirkungen des von Ihnen entwickelten Codes erheblich steigern. Es könnte dich sogar zum Meister machen.
Fazit
Dekoratoren sind eine unglaubliche Funktion, die für verschiedene Zwecke verwendet werden kann. Es ist nicht nur „eine Funktion oder Klasse, die eine Funktion oder Klasse annimmt und eine Funktion oder Klasse zurückgibt“.
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

Wie kann man nicht erkannt werden, wenn Sie Fiddlereverywhere für Man-in-the-Middle-Lesungen verwenden, wenn Sie FiddLereverywhere verwenden ...

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer -Anfänger für Programmierungen? Wenn Sie nur 10 Stunden Zeit haben, um Computer -Anfänger zu unterrichten, was Sie mit Programmierkenntnissen unterrichten möchten, was würden Sie dann beibringen ...

Bei der Verwendung von Pythons Pandas -Bibliothek ist das Kopieren von ganzen Spalten zwischen zwei Datenrahmen mit unterschiedlichen Strukturen ein häufiges Problem. Angenommen, wir haben zwei Daten ...

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen an? Uvicorn ist ein leichter Webserver, der auf ASGI basiert. Eine seiner Kernfunktionen ist es, auf HTTP -Anfragen zu hören und weiterzumachen ...

Fastapi ...

Verwenden Sie Python im Linux -Terminal ...

Verständnis der Anti-Crawling-Strategie von Investing.com Viele Menschen versuchen oft, Nachrichten von Investing.com (https://cn.investing.com/news/latest-news) zu kriechen ...
