Definition: Es handelt sich im Wesentlichen um eine Funktion (Dekorator anderer Funktionen), die dazu dient, anderen Funktionen zusätzliche Funktionen hinzuzufügen
Prinzip: 1. Der Quellcode der dekorierten Funktion kann nicht geändert werden
2. Die Aufrufmethode der dekorierten Funktion kann nicht geändert werden
import time def timer(hello): def func(*args,**kwargs): #函数传参,不限个数。 start = time.time() hello(*args,**kwargs) #函数传参,不限个数。 end = time.time() print("运行时间:%s"%(end - start)) return func @timer def hello(): time.sleep(2) print("nihao") hello()
Hinweis: Der Dekorator muss über der dekorierten Funktion geschrieben werden.
Kleines Experiment: Passwortverifizierung
import time user = { #存储用户名和密码 "luozeng":'123', "xuemanfei":'456', "xutian":'789' } def yanzheng(hello): def func(*args,**kwargs): start = time.time() username = input("请输入用户:").strip() #用户输入 password = input("请输入密码:").strip() if username in user and password == user[username]: #用户名和密码验证 print("登陆成功") hello(*args,**kwargs) else: exit("用户名或密码错误!") end = time.time() print("运行时间:%s"%(end - start)) return func @yanzheng def hello(): print("你好!") hello()
Das obige ist der detaillierte Inhalt vonErfahren Sie mehr über Dekorateure in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!