我认为每个对象都基于密钥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)
会相同。
答案 0 :(得分:6)
如果每个对象都有唯一的id,那么为什么要交换id?
因为您交换了对象。这些对象不是a
和b
,而是10
和20
。 a
和b
只是代码用来引用这些对象的名称。