python @的作用

发布时间:2019-09-12 08:01:18编辑:auto阅读(1647)

    这只是我的个人理解:
    在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))

关键字