1. 程式人生 > >python學習 通用裝飾器

python學習 通用裝飾器

在之前的部落格已經講過裝飾器,並且我們知道根據不同的函式(有無引數,有無返回值)可以用不同的裝飾器,但是不是可以歸納一下,寫出一個通用的裝飾器呢? 程式如下:

def func(functionName):
	def func_in(*args,**kwargs):
    	print ('-----生成記錄-----')
    	ret = functionName(*args,**kwargs)
    	return ret
return func_in

@func
def test(a,b):
	print ('----test----')
	print ('A=%d,B=%d'%(a,b))
	return 'haha'
	
exe = test(10,19)
print ('返回值是:%s'%exe)

執行結果: 在這裡插入圖片描述 這樣,我們就會得到一個既可以傳引數,又可以傳遞返回值的裝飾器。