我不知道为什么引用变量(dict,list)可以从嵌套函数访问,而简单对象则不可以。python嵌套函数对外部变量的可访问性
In [1]: a = 1
In [2]: b = [1]
In [3]: c = {"c" : 1}
In [4]:
In [4]: def f():
...: a = 2
...: b[0] = 2
...: c["c"] = 2
...:
In [5]: f()
In [6]:
In [6]: print a
1
In [7]: print b
[2]
In [8]: print c
{'c': 2}
因为整数是不可变的,而列表和字典是可变的阅读http://stackoverflow.com/questions/8056130/immutable-vs-mutable-types-python。 –