python报错:TypeError: 'NoneType' object is not callable
1、报错内容:
虽然函数的结果也正常打印出来了,但是多了一个报错!
意思是:'NoneType'对象不可调用
代码内容:
import time
# 装饰器函数
def timmer(func):
def warpper(*args, **kwargs):
start_time = time.time()
func()
stop_time = time.time()
print(f"函数执行的时间为: {stop_time-start_time}")
return warpper()
@timmer # 引用装饰器函数:相当于 test_oen= timmer(test_one)
def test_one():
time.sleep(3)
print("这是test1函数!!!")
if __name__ == '__main__':
test_one()
分析原因:
在 装饰器函数 ruturn 返回 warpper结果时,多加了一个 “()”
解决办法 :去掉“()”
修改后的代码:
import time # 装饰器函数 def timmer(func): def warpper(*args, **kwargs): start_time = time.time() func() stop_time = time.time() print(f"函数执行的时间为: {stop_time-start_time}") return warpper @timmer # 引用装饰器函数:相当于 test_oen= timmer(test_one) def test_one(): time.sleep(3) print("这是test1函数!!!") if __name__ == '__main__': test_one()
学如逆海行舟,不进则退。