Python Decorator 簡潔說明

Henry Chang
Jul 22, 2018 · 1 min read

Decorator 是一個 Python 中較為進階的語法,因為較難被

理解故常被提出來討論。這邊提供一個簡潔的說明。

假設有一名為 func 的 function 被名為 decor1 和 decor2 的二個 decorator 修飾如下:

@decor1
@decor2
def func(*args, **kwargs):
pass

則當我們如下呼叫 func() 時:

func(*args, **kwargs)

可以將之理解為:

decor1(decor2(func))(*args, **kwargs)

更詳細的說明請參考:

  1. Understanding Python Decorators in 12 Easy Steps!
  2. How can I make a chain of function decorators in Python?