了解所有解释器的Python`id`函数

问题描述 投票:0回答:1

我注意到,当在Python中调用id函数时,某些值在所有解释器实例中都具有一致的值。我知道Python在内存中保留的整数小于256,但我不明白为什么在单独的解释器实例中这些内存地址不会有所不同。

例如,在解释器1中,这就是我得到的:

>>> id(1)
140721106546944

对于在不同命令提示符下运行的解释器2,我得到相同的值。

这背后的逻辑是什么?

python memory id
1个回答
-1
投票

答案存在于对程序员隐藏的python优化中,实际上,基本值(如小数,字符串浮点数等)已经创建并存储py python,当您询问其中的一个不会被创建而仅被创建时链接到已创建的链接,因此它将始终相同。

© www.soinside.com 2019 - 2024. All rights reserved.