python如何为字符串和元组分配内存?

时间:2018-05-27 04:24:04

标签: python-3.6

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

0 个答案:

没有答案