すぐに学ぶ:https://edu.csdn.net/course/play/26755/340161?utm_source=blogtoedu
1.デコレータの役割
デコレータ自体は、デコレータ機能である関数です。
デコレータは、コードの変更なしに従う、装飾的な役割を果たし、機能に追加機能を追加することができ
挿入ログ、パフォーマンステスト、トランザクション処理、キャッシュ次のような需要シナリオ。
デコレータは、一般的な機能です。
2.カスタムデコレーター
from functools import wraps
def log(flag):
def decorate(func):
@wraps(func)
def _wrap(*args,**kwargs):
try:
if flag:
func(*args,**kwargs)
print('name',func.__name__)
except Exception as e:
print(e.args)
return _wrap
return decorate
@log(False)
def add(a,b,c):
print('sum','=',a + b + c)
add(1,2,3)