需求:假如我們需要將一些方法加入日誌,在python這時候就需要裝飾器,而每個方法的引數,返回值各不相同,這時候,我們就需要編寫乙個通用的裝飾器來將日誌引入進來(測試版)
'''
通用裝飾器
'''def func(functionname):
def func_in(*args, **kwargs):
print("-----記錄日誌-----")
ret = functionname(*args, **kwargs)
return ret
return func_in
測試**如下:分別是三種不同的方法進行呼叫
@func
def test1():
print("test1")
return "haha"
@func
def test2():
print("test2")
@func
def test3(a):
print("test3 value is %d" % a)
執行結果如下:
通用裝飾器
通用裝飾器 可以裝飾任意引數的函式 無引數也可以 重點 1.閉包中內部函式的引數型別 2.內部函式的返回值上 需求 給函式func1增加日誌功能 不能修改原始碼 import time def funcout func def funcinfo args,kwargs log func return...
python 通用裝飾器,帶有引數的裝飾器,
使用裝飾器對有返回值的函式進行裝飾 def func functionname print func 1 def func in print func in 1 x functionname 儲存返回來的hahah print func in 2 return x print func 2 retu...
python裝飾器 Python 裝飾器
簡言之,python裝飾器就是用於拓展原來函式功能的一種函式,這個函式的特殊之處在於它的返回值也是乙個函式,使用python裝飾器的好處就是在不用更改原函式的 前提下給函式增加新的功能。一般而言,我們要想拓展原來函式 最直接的辦法就是侵入 裡面修改,例如 這是我們最原始的的乙個函式,然後我們試圖記錄...