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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM