python的函数传递:
a = 1 def fun(a): print('fun_in',id(a)) a = 2 print('re-point',id(a),id(2)) print('func_out',id(a),id(1)) fun(a) print(a) a = [] def func1(a): print('func1_in',id(a)) a.append(1) print('func1_out',id(a)) func1(a) print(a)
输出结果:
总结:
类型是属于对象的,而不是变量的。而对象有两种:可更改与不可更改对象。
在python中,str,tuple和num是不可更改的对象,而list,dict,set等则是可以修改的对象。(这就是这个问题的重点)