#传不可变对象实例 def ChangeInt(a): print('修改前a的值:',a) a = 10 print('修改后a的值:',a) b = 2 ChangeInt(b) print(b) 运行结果: 修改前a的值: 2 修改后a的值: 10 分析: ChangeInt(b)把b的值复制给a,a未修改前a=b=同一内存地址;a=10重新修改后,a重新生成一个对象指针指向了10,但是b的指针还是指向的2,所以b的值为2而非10实例中有 int 对象 2,指向它的变量是 b,在传递给 ChangeInt 函数时,按传值的方式复制了变量 b,a 和 b 都指向了同一个 Int 对象,在 a=10 时,则新生成一个 int 值对象 10,并让 a 指向它。
来源:https://www.cnblogs.com/bashliuhe/p/12610037.html