美文网首页
嵌套函数

嵌套函数

作者: yalesaleng | 来源:发表于2018-07-14 11:24 被阅读6次
    1. 变量作用域
      内部函数可以直接读取访问外部函数变量,但是不能修改;访问规则是从内到外函数逐级寻找变量
    def outer(a):  
        i = a + 1  
        def inner():  
            j = i + 1  
            def innest():  
              print "innest: i=%d,j=%d" % (i, j)  
            innest()  
        inner()  
      
    outer(1)  
      
    $ python t.py  
    innest: i=2,j=3
    
    

    三级函数,innest可以访问inner的变量,也可以访问outer的变量,但是均不能修改他们。(如何才能修改,我也不知道,但是python 3提供机制修改)

    1. 函数闭包
    def outer(a):  
        i = a + 1  
        def inner():  
            print "inner: i=%d" % i  
        return inner  
      
    foo = outer(1)  
    foo()  
      
    $ python t.py  
    inner: i=2 
    

    相关文章

      网友评论

          本文标题:嵌套函数

          本文链接:https://www.haomeiwen.com/subject/kgoepftx.html