由于是从Java转过来的,看见python中有@修饰符时,很迷惑。看了一些网上的资料,感觉叙述的不太容易理解。自己想写一篇易于理解的。先来看一段程序:
运行的结果是:
note!
nothing
输出了“note!",spamrun方法已经运行过了。说明:
@spamrun是一个statement,会将useful当作参数传入来执行spamrun方法。
如果将上段代码中的useful(2,3)去年注释,输出为:
note!
10 15
20 30
nothing
这个输出结果说明:
spamrun方法运行完毕后,usefull方法已经指向sayspam方法了,而fn此时指向的是原来usefull的方法实体。