函数中全局变量和局部变量作用域的一些理解
>>> def change_list(a): a = [2,3,4] >>> a= [1,2] >>> change_list(a) >>> a [1, 2]
这个问题是,为什么可变类型的数据无法改变?
>>> def change_list(a): a .append(3) >>> a= [1,2] >>> change_list(a) >>> a [1, 2, 3]
这个却可以改变
>>> a= [1,2] >>> def change_list(a): a .append(3) print(id(a)) >>> id(a) 27808584 >>> change_list(a) 27808584 >>> a [1, 2, 3]
>>> def change_list(a): a =[1,2,3,4] print(id(a)) >>> a = [1,2] >>> id(a) 33581320 >>> change_list(a) 27808328 >>> a [1, 2]
看到这个估计就明白了