发布时间:2019-09-12 08:01:18编辑:auto阅读(2897)
这只是我的个人理解:
在Python的函数中偶尔会看到函数定义的上一行有@functionName的修饰,当解释器读到@的这样的修饰符之后,会先解析@后的内容,直接就把@下一行的函数或者类作为@后边的函数的参数,然后将返回值赋值给下一行修饰的函数对象。
比如:
@a
@b
def c():
…
python会按照自下而上的顺序把各自的函数结果作为下一个函数(上面的函数)的输入,也就是a(b(c()))
def funA(a):
print 'funA'
def funB(b):
print 'funB'
@funA
@funB
def funC():
print 'funC'
result:
>>> ================================ RESTART ================================
>>>
funB
funA
则整个程序的执行过程就是funA(funB(funC))
上一篇: python 连接SAP的方法
下一篇: 动态执行python代码
53636
40469
34889
30611
25486
25265
23699
19140
15266
14784
1297°
1202°
1282°
1313°
1332°
1506°
1454°
1396°
1493°
1450°