为什么 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?
因为你们交换了对象。这些对象不是 a
和 b
,而是 10
和 20
。 a
和 b
只是代码用来引用这些对象的名称。
我认为每个对象都基于键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
只是代码用来引用这些对象的名称。