@的含义:
Python当解释器读到@的这样的修饰符之后,会先解析@后的内容,直接就把@下一行的函数或者类作为@后边的函数的参数,然后将返回值赋值给下一行修饰的函数对象。
在网上看到一个这样的例子:
def a(x):
if x==2:
return 4
return 6
def b(x):
if x==1:
return 2
return 3
@a
@b
def c():
return 1
python会按照自下而上的顺序把各自的函数结果作为下一个函数(上面的函数)的形参输入,也就是a(b(c()))。