python簡單裝飾器 python裝飾器簡單使用

2021-10-11 07:30:23 字數 935 閱讀 4066

理解裝飾前先理解python閉包的概念:

下面是對裝飾器的簡單舉例

實質: 是乙個函式

引數:是你要裝飾的函式名(並非函式呼叫)

返回:是裝飾完的函式名(inner)

作用:為已經存在的物件新增額外的功能

特點:不需要對物件做任何的**上的變動

# 被裝飾的函式無引數

def decorate(func):

裝飾器列印出執行方法的名字

:paramfunc: 方法的引用。可以這樣理解 a=1,1在記憶體位址中,a是對1的引用。同樣的func就是對func()的引用,不帶()就是對方法的引用(裡面還有一些屬性,func.__name__等等),帶()就是表示要執行這個方法

:return:

def inner():

print('執行的方法名:', func.__name__)

func()

return inner

# 被裝飾的函式有引數

def decorate_arg(func):

def inner(a, b):

print('執行的方法名:', func.__name__)

func(a, b)

return inner

@decorate

def good_bye():

print('say good_bye')

@decorate_arg

def add_num(a, b):

print(a + b)

if __name__ =='__main__':

good_bye()

print('------')

add_num(1, 2)

列印結果:

執行的方法名: good_bye

say good_bye

執行的方法名: add_num

python裝飾器簡單使用

概念 在 執行期間動態增加功能的方式,稱之為 裝飾器 decorator 本質上,decorator就是乙個返回函式的高階函式 我們要定義乙個能列印日誌的decorator,可以定義如下 def log func def args,kw print call s func.name return f...

python 簡單的裝飾器

今天我們講一講python中的裝飾器。可能初次接觸裝飾器的同學會覺得它很難,其實也就那麼一回事兒,今天就讓我們會會它!首先它的本質是函式,它的功能是為其他函式新增附加功能。ps 它有兩個原則 1.不能修改被修飾的函式的 2.不能更改被修飾函式的呼叫函式。我所認為的裝飾器其實就是 裝飾器 高階函式 函...

python裝飾器簡單介紹

裝飾器的作用 在函式執行前或執行後執行一段 做一些通用處理 與直接在函式中寫 相比,優點在於可復用 呼叫形式為函式前 名字 dec def f i 裝飾器執行邏輯 系統看到裝飾器,將不呼叫原函式 呼叫裝飾器函式,將原函式作為引數傳入 此函式返回乙個函式,系統執行返回的函式 有意思的地方來了 返回的函...