如何解决为什么我的装饰导致功能运行
我正在尝试创建一个计时器包装器,该包装器返回函数运行所需的时间。
from datetime import datetime as dt
import time
def timer_wrapper(func):
"""
Timer wrapper parent
"""
def wrapper(*args,**kwargs):
"""
Timer wrapper child
"""
start = dt.now()
func(*args,**kwargs)
end = dt.now()
duration = (end - start)
print(f"{func.__name__} took {duration}")
return wrapper()
@timer_wrapper
def time_waster():
"""
Time waster
"""
for n in range(3):
print("wasting time")
time.sleep(1)
我对此有2个问题。
-
jupyter笔记本中的第二个函数(time_waster)每当我将装饰器放在上面时都执行,并按预期运行。但是,我只想用装饰器定义函数,而不要在其中执行。
-
当我在另一个单元格中调用time_waster()时,它将返回
TypeError: 'NoneType' object is not callable
我在做什么错了?
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。