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()

猜你喜欢

转载自www.cnblogs.com/xuexizongjie/p/11013250.html