Python用类来写带参数的装饰器,碰到一个错误提示,不知是否Pycharm的BUG,但代码可正常运行
看到这个错误提示,我不知道是不是Pycharm的问题,还是我代码的问题,
但是 上图 这个代码,是可以正常执行,结果也是预期的正确,我把代码贴出来,大伙一起分析分析
import time
class GetExecTime:
def __init__(self, sec):
self.sec = sec
def __call__(self, func):
self.func = func
return self.wrapper
def wrapper(self, *args, **kwargs):
for i in range(self.sec):
print(f"距离函数执行还有{self.sec - i}秒钟")
time.sleep(1)
t1 = time.time()
result = self.func(*args, **kwargs)
t2 = time.time()
print(f"函数执行时间是:{t2 - t1}秒")
return result
@GetExecTime(2)
def myfunc(n):
k = 0
for i in range(n):
k = i
return k
if __name__ == '__main__':
r = myfunc(66)
推荐文章: