потому что его хэш-значение равно id() и никакие два объекта этого типа не равны". Почему?
Если я определю класс с атрибутом значение которого установлю равным изменяемому объекту, например, пустому листу и потом будут добавлять элементы в этот лист, разве это не делает наличие среди атрибутов объекта изменяемого объекта сам объект не хэшируемым? Ведь сам объект при этом тоже изменится, а следовательно должен измениться и хэш?
как я понимаю, в данном случае случае хеш - "адресс" объекта. и как бы ты не менял сам объект, адресс останется прежним
Здесь говорится о том, что по умолчанию в CPython __hash__ основывается на id, это реализация по умолчанию, которая не особенно полезна.
Обсуждают сегодня