普通函數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