函式裝飾器

2021-10-02 15:29:53 字數 1298 閱讀 6247

函式裝飾器:用於管理和增強函式和類行為的**,如 定義屬性等

特定:更明確語法,更高的**可維護性 更好的一致性

引數化裝飾器 ,區分多重引數

及在裝飾器外部再夾乙個函式

函式定義裝飾器使用較多,不易出現問題

#函式定義裝飾器 本身就是函式

defp_decpract

(func)

:#括號內為被裝飾函式

def(

*args,

**kwargs)

:#這裡為帶入函式的引數

return

''+ func(

*args,

**kwargs)

+'/'

@p_decpract

defget_text()

:return

'你爸爸我'

類定義裝飾器用於另外類中使用易出現問題

classp:

def__init__

(self,func)

: self.func = func

def__call__

(self,

*args,

**kwargs)

:#呼叫時使用

return

''+ self.func(

*args,

**kwargs)+"

"@pdefget_text()

:return

'你爸爸我'

裝飾器引數用於需要較多引數共同使用時,對裝飾器再一次裝飾

def

use(p)

:def

p_decpract

(func)

:#括號內為被裝飾函式,三層函式

def(

*args,

**kwargs)

:return f'<>'

+ func(

*args,

**kwargs)

+ f'/<>'

return p_decpract

@use(

'p')

defget_text()

:return

'你爸爸我'

if __name__ ==

"__main__"

:print

(get_text(

))

函式裝飾器 類裝飾器

一 函式裝飾函式 defwrapfun func definner a,b print function name func.name r func a,b return r return inner wrapfun defmyadd a,b return a b print myadd 2,3 二...

python裝飾器 函式裝飾器,類裝飾器

只要實現此 模式,這個obj就叫乙個裝飾器 參考 函式裝飾器 例子 def decorator func def inner args,kwargs print before.res func args,kwargs print after.return res return inner decor...

python 裝飾器 函式裝飾器 類裝飾器

python函式裝飾器和類裝飾器筆記.usr bin env python coding utf 8 author ivan file decorators.py version from functools import wraps 裝飾器 目的是為了給函式新增附加功能 1.不帶引數裝飾器 此方式...