一个问题是关于变量范围。
为什么下一个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
如何修改myvar
中function1
的本地function2
而不使myvar
属于模块范围(模块全局变量)?
敬请参考文献!