变量范围。蟒蛇

时间:2014-05-27 21:50:51

标签: python

一个问题是关于变量范围。 为什么下一个function2会修改列表l

def function1():
    myvar = 1
    l = []
    def function2():                                                             
        l.append(3)
    function2()
    print l

但是如果我添加下一行myvar = 4,它会给出错误“在赋值之前引用的局部变量'myvar',

 def function1():
    myvar = 1
    l = []
    def function2():
        myvar += 4                                                               
        l.append(3)
    function2()
    print l

如何修改myvarfunction1的本地function2而不使myvar属于模块范围(模块全局变量)? 敬请参考文献!

0 个答案:

没有答案