1.普通裝飾器
defdecorate(fun):
'''普通裝飾器
:param fun:
:return:
'''def inner(*args,**kwargs):
print('
呼叫裝飾器之前')
fun(*args, **kwargs)
print('
呼叫裝飾器之後')
return
inner
@decorate
#method=decorate(method)
defmethod01(a,b):
print('
兩個引數的和是
2.增強裝飾器有名帶參裝飾器
defdynamic_report(target):
'''帶參裝飾器
:param target: 裝飾器傳進來的引數
:return:
'''def
decorate(fun):
def inner(*args,**kwargs):
print('
呼叫時候傳進來的引數
',target)
fun(*args,**kwargs)
print('
呼叫後傳進來的引數
',target)
return
inner
return
decorate
@dynamic_report(
'我是裝飾器傳進來的')
defmethod(a,b):
print('
method方法
'''帶參裝飾器
:param target: 裝飾器傳進來的引數
:return:
'''def
decorate(fun):
def inner(*args,**kwargs):
print('
呼叫時候傳進來的引數
',target01,target02)
fun(*args,**kwargs)
print('
呼叫後傳進來的引數
',target01,target02)
return
inner
return
decorate
@dynamic_report(
'zxb
','zxl')
defmethod(a,b):
print('
method方法
Python 兩種裝飾器
目錄 帶引數的裝飾器 函式 類裝飾器 裝飾器 decorators 是 python 的乙個重要部分。簡單地說 他們是修改其他函式的功能的函式。他們有助於讓我們的 更簡短,也更pythonic python範兒 來想想這個問題,難道 wraps不也是個裝飾器嗎?但是,它接收乙個引數,就像任何普通的函...
python帶引數裝飾器的兩種寫法
前言 最近在實現乙個裝飾器的過程中發現了乙個很有意思的地方,在部落格裡面分享出來 不同的寫法 三層函式巢狀,實現了可傳引數的乙個裝飾器。import logging import functools deflogger msg none 日誌 defdector func functools.wra...
Python裝飾器的兩種使用心得
def decorator func def inner info print inner func info return inner decorator def show info info print info show info hello 裝飾器在裝飾函式的時候由於返回的是inner的函式...