python 装饰器

Posted xuexizongjie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 装饰器相关的知识,希望对你有一定的参考价值。

‘‘‘

装饰器,从实际运行效果来看,就是 相互独立的函数,在不改变彼此的情况下,实现 功能 叠加,从而能力增强 。

模块间能够彼此赋能,不再是简单的相互合作/协作关系,更进了一步。挺灵活、又强悍。

下面的例子显示:@timer  装饰say()时,效果就是  timer函数+say函数 ,功能叠加在一起执行。

‘‘‘
import time
import nnlog

def timer(func):
  def newFunc():
    log = nnlog.Logger(‘zylog.txt‘)
    st = time.time()
    func()
    runTime = time.time()-st
    print(‘%s 的运行时间是 %s‘%(func.__name__,runTime))
    log.debug(‘%s 的运行时间是 %s‘%(func.__name__,runTime))

  return newFunc



@timer      

‘‘‘   装饰器,装饰时,效果就是  timer函数+say函数 ,功能叠加在一起执行   ‘‘‘
def say():
  time.sleep(2)
  print(‘say 函数!!!‘)



if __name__ == ‘__main__‘:
  say()

以上是关于python 装饰器的主要内容,如果未能解决你的问题,请参考以下文章

python 装饰器:装饰器实例类装饰器(装饰函数)

python 装饰器:装饰器实例内置装饰器

python 装饰器:装饰器实例内置装饰器

Python 装饰器和装饰器模式有啥区别?

python 装饰器:装饰器基础装饰器形式,何时执行

理解Python装饰器