[PYTHON] Dekorateur 1

1


def print_info(func):
    def wrapper(*args, **kwargs):
        print('start')
        result = func(*args, **kwargs)
        print('end')
        return result
    return wrapper

def sum(a, b):
    return a + b

f = print_info(sum)
r = f(10, 20)
print(r)

Ausführungsergebnis von 1


start
end
30

Die Funktion print_info ist ein Dekorateur Dekorieren der Summenfunktion.

Es ist schwer zu verstehen, wenn es als 1 geschrieben ist. Es ist einfacher zu verstehen, wenn Sie wie folgt schreiben. .. ..

Auch der Dekorateur kann so wiederverwendet werden darauf bezogen. .. ..

2


def print_info(func):
    def wrapper(*args, **kwargs):
        print('start')
        result = func(*args, **kwargs)
        print('end')
        return result
    return wrapper

@print_info
def sum(a, b):
    return a + b

@print_info
def sub(a, b):
    return a - b

print(sum(10, 20))
print(sub(90, 20))

Ausführungsergebnis von 2


start
end
30
start
end
70

Recommended Posts

Dekorateur 1
Dekorateur 2
Dekorateur
Dekorateur
MyHDL Dekorateur
Hinweis: Python-Dekorator
Entwurfsmuster #Decorator
Python-Funktionsdekorateur
Schreiben Sie Dekorateur in der Klasse
Machen Sie einen Funktionsdekorateur
Fassen Sie Pythons @property Decorator zusammen
Dekorationsmuster in Java
Verwendungshinweise für Python Decorator
Property Decorator verwenden?
Python-Dekorator-Operationsnotiz
Ich habe Python> Decorator ausprobiert
Mit Dekorateur dekorieren