函数

北城以北 提交于 2020-04-01 03:35:06

 

#传不可变对象实例
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 指向它。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!