python基础题:说是 a=b,若a改变,b也跟着改变,我实际测试是,不是这样子的

handsome1234 2022-10-06 20:08:18

代码如下:

#测试一:
a = 55
b = a
b = 9
print('id(a):'+str(id(a)))
print('id(b):'+str(id(b)))
print('a:'+str(a))
print('b:'+str(b))

output:
id(a):140718576206592
id(b):140718576205120
a:55
b:9  #  我的理解,应该a和b应该都是一样的都是9才对啊?

#测试二:

a = 55
b = a
a = 88
# b = 9
print('id(a):'+str(id(a)))
print('id(b):'+str(id(b)))
print('a:'+str(a))
print('b:'+str(b))

output:

id(a):140718576207648
id(b):140718576206592
a:88
b:55   # 我的理解,应该a和b应该都是一样的都是88才对啊?

不知是我哪里理解错了?

...全文
88 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
fzqr100 2022-10-07
  • 打赏
  • 举报
回复

测试一中
b=a时,相当于把b的地址设置和a一样,这时b和a一样
b=9时,相当于b重新申请了内存地址

【a=b,若a改变,b也跟着改变】因该说的是类实例,若a改变其中类实例变量,那么b中的实例变量也会跟着改变

37,978

社区成员

发帖
与我相关
我的任务
社区描述
分享Python数据分析、可视化、机器学习、图像处理有关知识和实例
社区管理员
  • 叶庭云
  • 极客飞兔
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧