将新Python Tuple添加到自身后会发生什么情况

时间:2018-09-05 21:15:15

标签: python

我对Python有一个初学者的问题。如果我有python元组:

x = ('a', 'b', 'c')

然后x + x会给我:

('a', 'b', 'c', 'a', 'b', 'c')

问题:

将新的Python元组添加到自身x + x中后会发生什么? 我可以引用元组x,但是新的元组x + x呢,您将如何引用呢?它会成为未引用的内存,这意味着没有指针可以引用它吗?

谢谢

G。

1 个答案:

答案 0 :(得分:2)

元组是不可变的。 tuple.__add__(在添加元组时调用)将返回一个全新的元组对象,其中包含两个元组的内容。要稍后引用它,您必须将引用存储在变量中:

new_tuple = x + x
print(new_tuple)

如果您不存储引用,则该引用将变为您在问题中所说的“未引用”,然后python垃圾收集器将销毁它并自动释放内存。当任何python对象的引用数达到零时,也会发生同样的情况。