python3之裝飾器修復技術@wraps

 

普通函數app

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
    函數的註釋: 這是一個用來測試裝飾器修復技術的函數spa

相關文章
相關標籤/搜索