装饰器

Posted zhowhen

tags:

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

装饰器:本质还是一个函数(装饰其他函数),为了替其他函数添加附加功能

原则:1、不修改被装饰函数的源代码。2、不修改被装饰函数的调用方式

实现装饰器必要条件:

一、函数即‘变量’

二、高阶函数

三、嵌套函数

计算一个函数运行时间:

import time
def timer(func): #timer(aa) func=aa 高阶函数
def deco(*args,**kwargs): # 内嵌函数
start_time=time.time()
func(*args,**kwargs)
stop_time=time.time()
print(‘run time:%s‘%(stop_time-start_time))
return deco
@timer #aa=timer(aa)
def aa():
time.sleep(3)
print(‘i am aa!‘)
@timer
def bb(name):
time.sleep(1)
print(‘i am ‘,name)

aa()
bb(‘zhow‘)

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

Python面向对象学习之八,装饰器

thymeleaf 片段渲染后重新加载 javascript

代码缺乏装饰?使用ts装饰器来装饰你的代码

代码缺乏装饰?使用ts装饰器来装饰你的代码

代码缺乏装饰?使用ts装饰器来装饰你的代码

代码缺乏装饰?使用ts装饰器来装饰你的代码