Две переменные в Python имеют одинаковый идентификатор, но не списки или кортежи
Две переменные в Python имеют одинаковыеid
:
a = 10
b = 10
a is b
>>> True
Если я возьму дваlist
s:
a = [1, 2, 3]
b = [1, 2, 3]
a is b
>>> False
в соответствии сэта ссылка Senderle ответил, что неизменные ссылки на объекты имеют одинаковый идентификатор, а изменяемые объекты, такие как списки, имеют разные идентификаторы.
Так что теперь, согласно его ответу, кортежи должны иметь одинаковые идентификаторы, что означает:
a = (1, 2, 3)
b = (1, 2, 3)
a is b
>>> False
В идеале, поскольку кортежи не являются изменяемыми, они должны возвращатьсяTrue
, но это возвращаетсяFalse
!
Какое объяснение?