python-裝飾器

    在代碼運行期間動態增長函數功能的的方式,稱之爲「裝飾器(decorator)」。緩存

    本質上,decorator是一個返回函數的高階函數。app

    裝飾器本質上是一個Python函數,它可讓其餘函數在不須要作任何代碼變更的前提下增長額外功能,裝飾器的返回值也是一個函數對象。它常常用於有切面需求的場景,好比:插入日誌、性能測試、事務處理、緩存、權限校驗等場景。裝飾器是解決這類問題的絕佳設計,有了裝飾器,咱們就能夠抽離出大量與函數功能自己無關的雷同代碼並繼續重用。歸納的講,裝飾器的做用就是爲已經存在的對象添加額外的功能。

做者:zhijun liu
連接:https://www.zhihu.com/question/26930016/answer/99243411
來源:知乎
著做權歸做者全部,轉載請聯繫做者得到受權。函數

>>> def log(func):
...     def wrapper(*args, **kw):
...             print 'call %s():' %func.__name__
...             return func(*args, **kw)
...     return wrapper
...
>>> @log
... def now():
...     print '2013-13-14'
...
>>> now()
call now():
2013-13-14性能

相關文章
相關標籤/搜索