2018年11月11日 星期日

python- 裝飾器進階

裝飾器進階
.functools .wraps
.帶參的裝飾器
.多個裝飾器裝飾同一個函數

def  wrapper(func):
    def inner(*args,**kwargs):
        print('在被裝飾的函數執行之前做的事情')
        ret  =   func(*args,**kwargs)
        print('在被裝飾後的函數執行之後做的事情')
        return  ret
    return  inner

@wrapper #holdav  - wrapper(holiday)def holiday(day):
    print("全體放假%s天"%day)
    return  '好開心'
ret = holiday(3)
print(ret)
執行結果:
在被裝飾的函數執行之前做的事情
全體放假3天
在被裝飾後的函數執行之後做的事情

好開心







沒有留言:

張貼留言