Über Python Decorator

Was ist dekorieren

Eine Funktion, die eine Funktion als Eingabe verwendet und eine andere zurückgibt. Verwenden Sie diese Option, wenn Sie vor oder nach einer Funktion etwas ausführen möchten.

Anwendungsbeispiel

Beispiel


#Dekorateur
def test(func):
    def new_func(*args, **kwargs):
        print("start")
        result = func(*args, **kwargs)
        print("end")
        return result
    return new_func

#Dekorateur Ziel
#Dekoriert durch Kommentieren
@test
def greeting():
    print("Hello")


greeting()

Ergebnis


start
Hello
end

Beispiel


#Über Dekorateure
#dump heißt und func=Als doppelt ausführen
def dump(func):
    "Eingabeargumente und Ausgabewerte anzeigen"
    def wrapped(*args, **kwards):
        print("Fuction name: %s" % func.__name__)
        print("Input arguments: %s " % ' '.join(map(str, args)))
        print("Input keyaeorods: %s " % kwards.items())
        output = func(*args, **kwards)
        print("Output:", output)
    return wrapped

@dump
def double(*args, **kwards):
    "Double every arguments"
    output_list = [2 * args for arg in args]
    output_dict = {k: 2 * v for k, v in kwards.items()}
    return output_list, output_dict

Ergebnis


Fuction name: double
Input arguments: 3 5
Input keyaeorods: dict_items([('first', 100), ('next', 98.6), ('last', 40)])
Output: ([(3, 5, 3, 5), (3, 5, 3, 5)], {'first': 200, 'next': 197.2, 'last': 80})

Verweise

"Einführung in Python 3" (Autor: Bill Lubanovic)

Recommended Posts

Über Python Decorator
Über Python-Dekorateure
Über Python-Slices
Über die Einschlussnotation von Python
Über Python tqdm.
Über Python, Klasse
Informationen zur Python-Vererbung
Über Python, range ()
Informationen zur Python-Referenz
[Python] Über Multi-Prozess
Über Python für Schleife
Über Funktionsargumente (Python)
Über Python für ~ (Bereich)
[Python] Memo Über Fehler
Informationen zur Python-Entwicklungsumgebung
Python: Über Funktionsargumente
Python, über die Ausnahmebehandlung
Über Python Pyramid Traversal
Über Python3 ... (Ellipsenobjekt)
[Python] Kapitel 01-01 Über Python (Erster Python)
[Python] Informationen zur Standardeingabe
Über __all__ in Python
[Python] Informieren Sie sich über pip
Fabric unterstützt Python 3
Python
Informationen zu Python-Objekten und -Klassen
Informationen zu Python-Variablen und -Objekten
Über das Python-Modul venv
Python-Anfänger-Memorandum-Funktion
Über die Aufzählungsfunktion (Python)
Über verschiedene Codierungen von Python 3
Über Python, len () und randint ()
Über Perl, Python, PHP, Ruby
Ein Memorandum über den Python-Mock
Informationen zu Python-Zeichenfolgenvergleichsoperatoren
Über Python und reguläre Ausdrücke
Über die Funktionen von Python
Über "für _ in range ():" von Python
Informationen zu Python- und Betriebssystemoperationen
Python # Über Referenz und Kopie
Über Python sort () und reverse ()
Ein Hinweis zu [Python] __debug__
Initialisierung globaler Variablen mit Python-Dekoratoren
Eine gute Beschreibung der Python-Dekorateure
[Python] Lassen Sie uns kurz über die Einschlussnotation schreiben
Über Python-Diktat und sortierte Funktionen
Über Python und Cython dtype
[Python] Was ist @? (Über Dekorateure)
Was war überraschend an Python-Klassen?
Über Python Pickle (cPickle) und Marschall
[Python] Was sind @classmethod und Dekorateure?
[Python] Über Executor und zukünftige Klassen
Über Python, aus und importieren, als
Ich habe versucht, den Prozess mit Python zu studieren
Informationen zur Grundlagenliste der Python-Grundlagen
Ein Hinweis zu Mock (Python-Mock-Bibliothek)
Kafka Python