id运算符给出了变量的地址,所以我做了以下
>>> a = "HELLO"
>>> b = "HELLO"
>>> id(a)
140353863080400
>>> id(b)
140353863080400
我不明白a,b是如何引用同一个对象的,不应该有两个字符串对象“HELLO”创建?
此外,当我对元组做同样的事情时(由于不可变,我认为会遵循上述模式),我得到了不同的结果
>>> x = (1,2,3,4,5)
>>> y = (1,2,3,4,5)
>>> id(x)
140353863106720
>>> id(y)
140353887969216
现在python创建了两个独立的元组对象 为什么字符串和元组之间的行为存在差异,即使两者都是不可变的? 我正在使用python 3.6.1