为什么持有相同值的变量在Python中具有公共ID?

时间:2015-10-06 10:30:38

标签: python

在Python中:

>>> a = "Hello"
>>> b = "Hello"
>>> id(a) == id(b)
True

为什么呢?这是否会在引用对象的内存位置的复杂程序中产生问题?

1 个答案:

答案 0 :(得分:3)

来自the Python documentation

  

对于不可变类型 [like strings] ,计算new的操作   值实际上可以返回对任何现有对象的引用   相同的类型和价值。例如,在a = 1; b = 1之后,ab可以或   可能不会引用具有值1的同一对象,具体取决于   实施...