首页 > 代码库 > 【转载】 python修饰符@
【转载】 python修饰符@
@符号在python语言中具有特殊含义,用来作为修饰符使用, @修饰符有点像函数指针,python解释器发现执行的时候如果碰到@修饰的函数,首先就解析它,找到它对应的函数进行调用,并且会把@修饰下面一行的函数作为一个函数指针传入它对应的函数。
参考下面的代码:
1 def spamrun(fn): 2 def sayspam(*args): 3 a,b =args 4 c,d = a*5, b*5 5 print c,d 6 return fn(c,d) 7 print ‘note!‘ 8 return sayspam 9 @spamrun10 def useful(a,b):11 print a*2, b*212 if __name__== "__main__":13 #useful(2,3)14 print ‘nothing‘
运行结果:
1 note!2 nothing
输出了“note!",spamrun方法已经运行过了。说明:
@spamrun是一个statement,会将useful当作参数传入来执行spamrun方法。
如果将上段代码中的useful(2,3)去年注释,输出为:
1 note!2 10 153 20 304 nothing
这个输出结果说明:
spamrun方法运行完毕后,usefull方法已经指向sayspam方法了,而fn此时指向的是原来usefull的方法实体。
转载来自:http://blog.csdn.net/thumb3344/article/details/5645124
【转载】 python修饰符@
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。