背景
假如多个函数内都有着共同的一部分功能(如计时),则可以将该功能分离出来另外调用
python中有着可以直接实现的方法,称之为装饰器(decorator)
具体使用
import time
def my_decorator1(func): #装饰器定义
def wrapper(*args): #有输入参数时需要在wrapper和func输入参数
t1 = time.time()
result = func(*args) #wrapper内部执行countfunc函数
t2 = time.time()
print(t2-t1)
return result #有输出时需要返回
return wrapper
@my_decorator1 #调用装饰器,则在21行myresult = countfunc(10000)运行时直接调用13行进入装饰器
def countfunc(num):
count = 0
for i in range(1,num):
if i % 2 == 0:
count += 1
return count
myresult = countfunc(10000)
print(myresult)
原创文章,作者:Carrie001128,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/272740.html