为什么 Python 在交换变量时交换变量 id

Why does Python swaps variable ids when swaps variables

我认为每个对象都基于键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?

因为你们交换了对象。这些对象不是 ab,而是 1020ab 只是代码用来引用这些对象的名称。