'''
装饰器
'''
import datetime
from functools import wraps
def myfunctow(*kargs,**kkargs):
def myfunctime(func):
cday=kkargs.get("day", 0)
print(f"装饰器传参:*kargs{kargs},**kkargs:{cday}")
'''
装饰器内部执行方法
:param func:
:return:
'''
@wraps(func)
def mywraps(*args,**kargs):
begintime=datetime.datetime.now()
result= func(*args,**kargs)
endtime = datetime.datetime.now()
print(f"执行时间{endtime-begintime}")
return result
return mywraps
return myfunctime
@myfunctow(2,day=4)
def addrand():
total=0
for x in range(1,100):
total+=x
return total
def test_func():
ts= addrand()
print(f"最终打印结果:{ts}")
return ts
if __name__=="__main__":
rs=test_func()
print(f"执行结果:{rs}")
python 3层装饰器
最新推荐文章于 2023-12-15 09:36:18 发布