from functools
def wrapper(func): #func = holiday
@functools .wraps(func)#增加這個之後下面調用展示的holiday.__name__爲holiday,否則爲inner
def inner(*args,**kwargs):
print('在被裝飾的函數執行之前做的事情')
ret = func(*args,**kwargs)
print('在被裝飾的函數執行之後做的事情')
return ret
return inner
@wrapper #holiday = wrapper(holiday)
def holiday(day):
'''這是一個放假通知'''
print('全體放假%s天'%day)
return '好開心'
print(holiday.__name__)
ret = holiday(3) #inner
print(ret)
萬能裝飾器wraps
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.