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()

 

posted @ 2021-10-25 18:00  漂泊的小虎  阅读(5364)  评论(0编辑  收藏  举报