看了篇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函数的参数。
想要更多的了解请看原文