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

时间:2015-02-11 03:16:24

标签: python swap identify

我认为每个对象都基于密钥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)会相同。

1 个答案:

答案 0 :(得分:6)

  

如果每个对象都有唯一的id,那么为什么要交换id?

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