gpt4 book ai didi

python - Python "is"语句和元组

转载 作者:太空狗 更新时间:2023-10-29 17:42:28 27 4
gpt4 key购买 nike

为什么 () 为 () 为真,而 (0,) 为 (0,) 为假?

我以为它们是同一个对象。但是,我显然遗漏了一些东西。

最佳答案

is 测试语句的两边是否共享相同的内存地址。它基本上是 id(a) == id(b)

的简写
>>> print id(()), id(())
30085168 30085168
>>> print id((0,)), id((0,))
38560624 38676432
>>>

由于 () 发生得相当频繁,它实际上被 Python 解释器视为单例(就像从 0 到 255 的整数、空字符串、空列表等)。当将 (0, )(0, ) 与解释器进行比较时,它们实际上是内存中的不同变量。如果它们是可变的,您可以修改第一个,而第二个不会改变,因此它们不相同(a 不是 b)。

关于python - Python "is"语句和元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10004987/

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