装饰器
Posted noplablem-wangzhe0635
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了装饰器相关的知识,希望对你有一定的参考价值。
import time
#装饰带参数的装饰器
def timer(f):
def inner(*args,**kwargs):
start=time.time()
ret=f(*args,**kwargs) #被装饰的函数
end=time.time()
print( end -start)
return ret
return inner
@timer #@装饰器的函数b,
def func(a,b):
time.sleep(0.1)
print(‘老板好,同事好,大家好。‘,a,b)
return ‘新年好‘
@timer #@装饰器的函数b,
def func1(a):
time.sleep(0.1)
print(‘老板好,同事好,大家好。‘,a)
return ‘新年好‘
固定模式:
def wrapper(f): #zh装饰器函数,f 是指被装饰的函数
def inner(*args,**kwargs):
#在被装饰函数之前要做的事情
ret=f(*args,**kwargs) #被装饰的函数
#在被装饰函数之后要做的事情
return ret
return inner #不加括号
@wrapper #@装饰器的函数b,
def func(a,b):
time.sleep(0.1)
print(‘老板好,同事好,大家好。‘,a,b)
return ‘新年好‘
ret=func(1,2)
ret=func1(1)
print(ret)
以上是关于装饰器的主要内容,如果未能解决你的问题,请参考以下文章