《流畅的python》学习日志----装饰器工厂函数
生活随笔
收集整理的這篇文章主要介紹了
《流畅的python》学习日志----装饰器工厂函数
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
使用裝飾器工廠函數(shù)實現(xiàn)不同的裝飾器行為
想要一個裝飾器對不同的函數(shù)表現(xiàn)出不同的行為,可以使用裝飾器工廠函數(shù),例如: def decorate(type):def calc(func):if type == 'adam':print('use adam')elif type == 'rmsprop':print('use rmsprop')else:print('None')return funcreturn calc
在這里函數(shù)decorate作為一個裝飾器工廠函數(shù),它依靠不同的傳入?yún)?shù),實現(xiàn)不同的裝飾功能,calc是真正的裝飾器,由decorate調(diào)用??梢赃@么使用:
@decorate('adam') def use_adam_function():pass@decorate('rmsprop') def use_rms_prop_function():pass@decorate('None') def use_None():pass工廠函數(shù)decorate接受字符串輸入,在calc中對字符串進(jìn)行檢查,從而選擇不同的裝飾效果,而在函數(shù)本體中都是使用pass跳過,運行結(jié)果如下:
use adam use rmsprop None總結(jié)
以上是生活随笔為你收集整理的《流畅的python》学习日志----装饰器工厂函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Outlook 与 Outlook Ex
- 下一篇: tensorflow.python.fr