gpt4 book ai didi

python - 在 Python 中,给定一个类 A,为什么后续调用 id(A()) 会返回相同的值?

转载 作者:行者123 更新时间:2023-11-28 22:31:24 25 4
gpt4 key购买 nike

<分区>

我正在使用 python 2.7 解释器,发现以下行为很有趣,值得询问。

给定一个空类:

class A():
pass

我可以创建单独的实例,并且像预期的那样它们有单独的 ID:

a = A()
b = A()
id(a)
>>> XXXXXXXX44
id(b)
>>> XXXXXXXX16

但是当我对内置的 id 进行后续调用时,没有变量来保存正在创建的实例,我看到返回了相同的 id。

id(A())
>>> XXXXXXXX88
id(A())
>>> XXXXXXXX88

更奇怪的是,当我在对 id(A()) 的调用之间混合另一个由变量持有的实例时,行为会发生变化:

id(A())
>>> XXXXXXXX88
a = A()
>>> XXXXXXXX88
id(A())
>>> XXXXXXXX44

对这种行为有什么直觉吗?

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