看了篇python標註的文章,很想寫篇文章做個筆記,既非轉載,也非翻譯,原文如下:
http://stackoverflow.com/questions/739654/understanding-python-decorators/1594484#1594484
1 def makebold(fn):
2 def wrapped():
3 return "<b>" + fn() + "</b>"
4 return wrapped
5
6 def makeitalic(fn):
7 def wrapped():
8 return '<i>' + fn() + '</i>'
9 return wrapped
10
11 @makebold
12 @makeitalic
13 def say():
14 return "Hello"
15
16 print say()
@makeitalic
def say():
其實就等於把say這個函數作爲makeitalic函數的參數。
@makebold
@makeitalic
這個makeitalic又作爲makebold函數的參數。
想要更多的瞭解請看原文