Python 中的@修饰符作用

来源:互联网 发布:丽升网络评卷系统 编辑:程序博客网 时间:2024/06/05 06:23

在python 2.4以上的的函数中偶尔会看到函数定义的上一行有@functionName的修饰,这一下这个语法细节,其实这有点像C语言带参数的宏操作,解释器读到这样的修饰之后,会先解析@后的内容,直接就把@下一行的函数或者类作为@后边的函数的参数,然后将返回值赋值给下一行修饰的函数对象。

def funA(a):    print 'funA'def funB(b):    print 'funB'@funA@funBdef funC():    print 'funC'
result:

>>> ================================ RESTART ================================>>> funBfunA


可以这样思考,return funA(funB(funC))

看到这里就明白了吧,从第一个函数修饰符开始,自下而上做参数传递,这样实际是使用了约定的函数修饰符达到函数嵌套的目的。记得没错Java中SSH也有这样的用法哦。

0 0
原创粉丝点击