Функция ID для объектов и ссылок - PullRequest
0 голосов
/ 25 сентября 2019

Давайте сделаем x указателем на список [1,2,3] и получим функцию id (дважды):

x=[1,2,3]

id(x), id([1,2,3])
(208085256L, 208123976L)

id(x), id([1,2,3])
(208085256L, 208124168L)

Мы говорим, что каждому созданному объекту присваивается номер, который однозначно его идентифицирует,

Насколько я понимаю, x является указателем / ссылкой, а [1,2,3] является объектом.То есть идентификатор указателя (x) равен 208085256L, и он остается неизменным во втором наблюдении.Но почему тогда изменяется идентификатор объекта [1,2,3], когда говорят, что каждому созданному объекту присваивается номер, который однозначно его идентифицирует.Мои рассуждения неверны?

Или мне лучше понять все так, как идентификатор ссылки x (208085256L) "указывает" на объект [1,2,3] и что я могу игнорировать второеID

1 Ответ

1 голос
/ 25 сентября 2019

Выражение [1, 2, 3] создает новый объект списка каждый раз, когда он оценивается.

Всего в вашем примере кода создается три списка.

x - это имя для первогоодин.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...