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