修飾器(decorator)是函數嵌套定義的另一個重要應用。修飾器本質上也是一個函數,只不過這個函數接收其他函數作為參數并對其進行一定的改造之后使用新函數替換原來的函數。修飾器的主要應用場合是定義多個函數調用之前或之后需要執行的通用代碼,提高代碼復用度。后面第6章中的靜態方法、類方法、屬性等也都是通過修飾器實現的,Python中還有很多這樣的用法。下面的代碼演示了修飾器的定義與使用方法。
def before(func): ?#定義修飾器
? ? def wrapper(*args, **kwargs):
python菜鳥教程。? ? ? ? print('Before function called.')
? ? ? ? return func(*args, **kwargs)
? ? return wrapper
def after(func): #定義修飾器
UiPath披露內部人交易情況,? ? def wrapper(*args, **kwargs):
? ? ? ? result = func(*args, **kwargs)
? ? ? ? print('After function called.')
? ? ? ? return result
新?? ? return wrapper
@before
@after
def test(): ?#同時使用兩個修飾器改造函數
語法糖 python。? ? print(3)
#調用被修飾的函數
test()
上面代碼的運行結果為:
python wrapper?Before function called.
3
After function called.
附:”第6屆高等學校計算機程序設計課程研討會”通知
完整版通知和回執單可以聯系會務組索要。
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态