python 装饰器--替换or增强被装饰函数功能/能力
2020-03-01 07:31
381 查看
'''
初学python装饰器的一点心得:
装饰器,在不改变被装饰函数代码的情况下,增强被装饰函数能力,或者替换被装饰函数功能 。
不同于模块间的调用,是通过“被装饰”,实现函数功能double提升。
“被装饰”可随时调整,很灵活、很强悍。
'''
'''
下面的例子显示:
@timer 装饰say()函数时,
效果就是: timer函数+say函数 ,即 装饰者和被装饰者的功能叠加在一起执行,能力double 。
'''
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()
转载于:https://www.cnblogs.com/xuexizongjie/p/11013250.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Python中利用函数装饰器实现备忘功能
- 【转】python 装饰器功能以及函数参数使用
- python 装饰器功能以及函数参数使用
- Python中利用函数装饰器实现备忘功能
- python 装饰器功能以及函数参数使用介绍
- python 装饰器功能以及函数参数使用介绍
- python基础之高阶函数、匿名函数 、装饰器,文件的读写
- python 装饰器 (个人理解就是前置的内建函数)
- python闭包函数,用装饰器添加认证功能
- Python的自定义函数的功能
- Python的函数和方法装饰漫谈(Function decorator)
- 如何用python的装饰器定义一个像C++一样的强类型函数
- Python实现ARCGIS栅格计算器con函数功能
- python 功能函数
- Python实现一个cache 装饰器可过期清除功能
- Python基础自学(第五章-函数进阶、迭代器和生成器、装饰器、上下文管理器、变量的作用域)
- python 之装饰器(用装饰器给现有函数增加新功能)
- 由浅入深,走进Python装饰器-----第四篇:进阶--函数装饰类
- Python 利用装饰器检测函数参数
- python3中替换python2中cmp函数的新函数分析(lt、le、eq、ne、ge、gt)