def a():
l=[]
def set_l():
l.append(1)
def get_l():
print l
return set_l, get_l
s,g = a()
In [4]: g()
[]
In [5]: s()
In [6]: s()
In [7]: g()
[1, 1]
为什么说python的闭包只读, 以上明明可以改变l, 我想和函数参数一样,分为可变和不可变
int类型 不可变
In [20]: a=[2,4,5]
In [21]: a[1]+=1
In [22]: a
Out[22]: [2, 5, 5]
In [23]: id(a[1])
Out[23]: 31095920
In [24]: a[1]+=1
In [25]: id(a[1])
Out[25]: 31095908