关于这个函数装饰器,为什么要嵌套呢??
import time
def tmd(func):
print('开始运行。。。')
start = time.time()
func()
stop = time.time()
print('结束运行。。。')
print(f'一共耗时{(stop - start):.2f}秒。')
def mc():
time.sleep(2)
print('你好啊。。')
tmd(mc)
纯手打,插入代码不会缩进4空格 8空格代替。。。两段代码,一样效果。。装饰器一定要内嵌函数才能做装饰器么???
import time
def tmd(func):
def cfc():
print('开始运行。。')
start = time.time()
func()
stop = time.time()
print('结束运行。。')
print(f'一共耗时{(stop-start):.2f}秒')
return cfc
@tmd
def mc():
time.sleep(2)
print('你好啊')
mc()
当然,装饰器所依托的技术本质是闭包,必须是内嵌函数才能胜任。 本帖最后由 tommyyu 于 2022-11-8 14:28 编辑
装饰器相当于加工一个函数的函数,它的返回值应该是一个函数(被加工过的函数)
你这种写法也可以
页:
[1]