Python裝飾器語法糖代碼示例
####裝飾器的固定格式##普通版本def timer(func): def inner(*args,**kwargs): '''執行函數之前要做的''' ret = func(*args,**kwargs) '''執行函數之后要做的''' return ret return inner##wraps版本from functools import wrapsdef deco(func): @wraps(func) #加在最內層函數正上方 def wrapper(*args,**kwargs): return func(*args,**kwargs) return wrapper####帶參數的裝飾器def outer(flag): def timer(func): def inner(*args,**kwargs): if flag: print('''執行函數之前要做的''') ret = func(*args,**kwargs) if flag: print('''執行函數之后要做的''') return ret return inner return timer@outer(True)def func(): return '返回值'x=func()print(x)總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林站長站的支持。如果你想了解更多相關內容請查看下面相關鏈接
新聞熱點
疑難解答