python装饰器是什么,他有什么用,通俗解释python装饰器
1、日志记录,在某些情况下,有必要统计或记录函数执行的效率,但不想改变函数本身的内容。装修工是一个很好的手段。
importtimeit
deftimer(func):
defwrapper(n):
start=timeit.default_timer()
结果=函数(n)
stop=timeit.default_timer()
打印(“时间:”,停止-开始)
返回结果
Return Wrappe2、作为缓存,装饰器的另一个很好的应用场景是作为缓存。
比如lru以函数的输入和返回值作为缓存,以斐波那契数的计算为例,n的值是30,所以执行效率相差很大。
deffib(n):
ifn2:
返回1
else:
返回光纤(n-1)光纤(n-2)
@functools.lru_cache(128)
deffib_cache(n):
ifn2:
返回1
else:
return fib _ cache(n-1)fib _ cache(n-2)
时间28660 . 686868666686
时间:3-05及以上是python decorator的功能,希望对你有帮助. 800000000005更多python学习方向:Python基础课程
本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。