python3之裝飾器修復技術@wraps


 

普通函數

def f():
    """
    這是一個用來測試裝飾器修復技術的函數
    """
    print("哈哈哈")


if __name__ == '__main__':
    print("執行的函數名:", f.__name__)
    print("函數的注釋:", f.__doc__)

# 打印結果
   執行的函數名: f
   函數的注釋: 這是一個用來測試裝飾器修復技術的函數

添加裝飾器

def wrapper(func):
    def inner(*args, **kwargs):
        print("在前面執行的代碼。。。。")
        func()
        print("在后面執行的代碼...")
    return inner


@wrapper
def f():
    """
    這是一個用來測試裝飾器修復技術的函數
    """
    print("哈哈哈")


if __name__ == '__main__':
    print("執行的函數名:", f.__name__)
    print("函數的注釋:", f.__doc__)

# 打印結果
   執行的函數名: inner
   函數的注釋: None

添加裝飾器修復技術@wraps

from functools import wraps

def
wrapper(func): @wraps(func) def inner(*args, **kwargs): print("在前面執行的代碼。。。。") func() print("在后面執行的代碼...") return inner @wrapper def f(): """ 這是一個用來測試裝飾器修復技術的函數 """ print("哈哈哈") if __name__ == '__main__': print("執行的函數名:", f.__name__) print("函數的注釋:", f.__doc__)

# 打印結果

    執行的函數名: f
    函數的注釋: 這是一個用來測試裝飾器修復技術的函數

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM