python之裝飾器

2022-06-22 23:54:11 字數 1162 閱讀 3008

對已定義的函式,可以在函式執行期間動態的增加功能稱為「裝飾器」,不改變該函式既有邏輯功能;

def

log(func):

print('

this is {} run

'.format(func.__name__

))

return func(*args,**kwargs)

return

@log

defsay_hello():

print('

hello,this is a test_demo

')if __name__ =='__main__':

r = say_hello()

結果輸出:

this is

say_hello run

hello,this

is a test_demo

當然裝飾器本身也可以傳入引數

def

log(text):

defdecorator(func):

print('

{} and {}() is runnig now

'.format(text,func.__name__

))

return func(*args,**kwargs)

return

return

decorator

@log(

'this text is denpend your input')

defsay_hello():

print('

hello,this is a test_demo')

if__name__ =='

__main__':

r = say_hello()

執行結果:

this text is denpend your input and say_hello() is

runnig now

hello,this

is a test_demo

上面的log函式中傳入乙個'this text is denpend your input'字串作為入參,在log函式中通過巢狀多層函式來實現裝飾器自定義入參

python裝飾器介紹 Python之裝飾器簡介

python函式式程式設計之裝飾器 1.開放封閉原則 簡單來說,就是對擴充套件開放,對修改封閉。在物件導向的程式設計方式中,經常會定義各種函式。乙個函式的使用分為定義階段和使用階段,乙個函式定義完成以後,可能會在很多位置被呼叫。這意味著如果函式的定義階段 被修改,受到影響的地方就會有很多,此時很容易...

python 找到裝飾器 Python之裝飾器

裝飾器本質上就是乙個python函式,他可以讓其他函式在不需要做任何 變動的前提下,增加額外的功能,裝飾器的返回值也是乙個函式物件。裝飾器的作用 在不改變原函式及原函式的執行的情況下,為原函式增加一些額外的功能,比如列印日誌 執行時間,登入認證等等。乙個簡單的裝飾器 import time def ...

Python之裝飾器

裝飾器就是乙個以函式作為引數並返回乙個替換函式的可執行函式 即裝飾器是乙個函式,其引數為函式,返回值也為函式 可理解為對函式的功能進行拓展,所以叫裝飾 outer為裝飾器,效果為給被裝飾函式返回值結果加負號 defouter fun definner x return fun x return in...