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