Skip to main content
 首页 » 编程设计

python之为什么Python在交换变量时会交换变量id

2025年05月04日15dyllove98

我认为每个对象都有一个基于键的 id。

>>> a = 10 
>>> b = 20 
>>> id(a) 
1876869280 
>>> id(b) 
1876869440 
>>> a,b=b,a 
>>> id(a) 
1876869440 
>>> id(b) 
1876869280 

当交换变量时,它们的 ID 也会被交换。如果每个对象都有一个唯一的 ID,那么为什么要交换 ID?我认为 id(a) 和 id(b) 交换后会相同。

请您参考如下方法:

If every object has a unique id, then why ids are swapped?

因为你交换了对象。对象不是 a 和 b,它们是 10 和 20。 a 和 b 只是代码用来引用这些对象的名称。