Python3 多個裝飾器的執行順序

2021-09-12 08:54:58 字數 519 閱讀 1581

執行環境是 python3

當用多個裝飾器修飾乙個函式時,離函式定義最近的裝飾器先被呼叫。

def make1(func):

return "111" + func()

def make2(func):

return "222" + func()

@make1

@make2

def hello():

return "hello world"

print(hello())

111222hello world
上面裝飾器的另一種等價寫法是:

# @make1

# @make2

def hello():

return "hello world"

hello = make1(make2(hello))

print(hello())

如有任何錯誤的地方,還請指正。

Python 多個裝飾器的執行順序

一.多個裝飾器的的執行順序 接下來我們以例子來檢視執行順序 def decorator a func print get in decorator a def inner a args,kwargs print get in inner a res func args,kwargs return r...

python 多個裝飾器的執行順序

我們通過下面這個例子來看多個為裝飾器的執行順序。def decorator a func print get in decorator a def inner a args,kwargs print get in inner a res func args,kwargs return res ret...

python多個裝飾器的執行順序

defdecorator a func print get in decorator a definner a args,kwargs print get in inner a returnfunc args,kwargs returninner a defdecorator b func prin...