我认为在Python这样的语法:删除重复的元素在Python
b=12
a=b
由 'A' 和 'b' 完全相同的元件。实际上:
id(b)
>>>31223540
id(a)
>>>31223540
a is b
>>>True
但是,如果我告诉解释器删除'a','b'停留在它的位置。
del a
b
>>>12
这是为什么?
我认为在Python这样的语法:删除重复的元素在Python
b=12
a=b
由 'A' 和 'b' 完全相同的元件。实际上:
id(b)
>>>31223540
id(a)
>>>31223540
a is b
>>>True
但是,如果我告诉解释器删除'a','b'停留在它的位置。
del a
b
>>>12
这是为什么?
在这种情况下,您不能从python中删除数字12
。它将删除对12
(a
)的引用。但12
实际的对象仍然存在,b
仍然给它
编辑引用我想清楚一些东西。语法
b=12
a=b
不作a
和b
完全相同的元素。它使它们引用相同的元素
在python中,变量实际上是一个指针。
因此,a指向12,以及b。 当您通过使用id()函数请求id时,会得到a和b指向的id,即12。事实上,变量实际上是一个指针,在大多数情况下都是由用户封装的,但这不是其中之一。