gpt4 book ai didi

python - 为什么 "a is b"在交互模式下和从脚本运行时表现不同?

转载 作者:太空狗 更新时间:2023-10-30 00:17:25 25 4
gpt4 key购买 nike

<分区>

在尝试回答有关使用 is 关键字的问题时,我发现这段代码:

脚本:

a = 123456
b = 123456
print a is b # True

交互模式:

>>> a = 123456
>>> b = 123456
>>> a is b
False

在 Python 交互模式下和从脚本运行时给出不同的输出。

来自 this answer :

The current implementation keeps an array of integer objects for all integers between -5 and 256, when you create an int in that range you actually just get back a reference to the existing object.

因此,我希望 a is b 仅针对 [-5, 256] 范围内的整数返回 True。但这仅在交互模式下是正确的,而不是从脚本运行时。

问题:为什么 a is b 在交互模式下和从脚本运行时表现不同?


注意:在 Python 2.7 和 Python 3 中测试

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