gpt4 book ai didi

Python3多重赋值与内存地址

转载 作者:太空宇宙 更新时间:2023-11-03 12:03:18 25 4
gpt4 key购买 nike

<分区>

看完thisthis ,这与我的问题非常相似,但我仍然无法理解以下行为:

a = 257
b = 257
print(a is b) #False
a, b = 257, 257
print(a is b) #True

打印 id(a)id(b) 时,我可以看到在不同的行中分配值的变量具有不同的 id,而对于多重赋值,两个值具有相同的 id:

a = 257
b = 257
print(id(a)) #139828809414512
print(id(b)) #139828809414224
a, b = 257, 257
print(id(a)) #139828809414416
print(id(b)) #139828809414416

但是不可能通过说相同值的多次赋值总是创建指向相同 id 的指针来解释这种行为,因为:

a, b = -1000, -1000  
print(id(a)) #139828809414448
print(id(b)) #139828809414288

是否有明确的规则来解释变量何时获得相同的 id 以及何时不同?

编辑

相关信息:本题代码以交互方式运行(ipython3)

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com