Python:在变量分配中创建了多少个对象?

Dej*_*jan 0 python python-3.x

至少对我来说,我发现了一个非常奇怪的面试问题。

如果声明以下变量,则创建了多少个对象?

a=300, b=300, c=5, d=5
Run Code Online (Sandbox Code Playgroud)
  • 有人可以解释一下吗?
  • 我不确定这与Python中的哪个段有关?
  • 也许是Python中的内存管理?

gst*_*gst 5

Python文档中有3个不同的对象(整数对象)

当前的实现为-5到256之间的所有整数保留一个整数对象数组,当您在该范围内创建int时,实际上实际上是返回对现有对象的引用。

更新:

为了明确回答这个问题,有3个不同的对象,但只有2个被创建,即ab。(感谢@jpa指出这一点!)