首页 > 解决方案 > 将新的 Python 元组添加到自身时会发生什么

问题描述

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

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

然后x + x会给我:

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

问题:

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

谢谢,

G。

标签: python

解决方案


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

new_tuple = x + x
print(new_tuple)

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


推荐阅读