Используя идентификатор объекта как хеш для объектов в Python

Действительно ли мудро использовать объект id как ключ хеша (через. __hash__) смочь хешировать в других отношениях изменяемый объект для единственного экземпляра программы? Используя атрибуты объектов было бы более хорошим, но они все изменяемы и могут измениться.

Это произошло со мной при рассмотрении Наборов экземпляров, и я задаюсь вопросом, мудро ли это.

10
задан Community 23 May 2017 в 12:00
поделиться

2 ответа

Если вы отметиете вас программа C # как x86 (и не какой-либо процессор), то она увидит HKEY_LOCAL_MACHINE \ SPRACK \ WOW6432NODE \ APP AS HKEY_LOCAL_MACHINE \ Software \ App \ .

Программа .NET для любого процессора будет работать как 64-битный процесс, если установлен 64-битный .NET .NET. 32-битный реестр находится под WOW6432Node для 64-битных программ.

-121--1096431-

Да, если вы также определяете __ q __ (и предположительно __ Ne __ ! -) Постоянно с этим. IOW, все в порядке, пока вы в порядке с A == B , что означает точно такой же, как A IS B ! -)

14
ответ дан 3 December 2019 в 19:33
поделиться

Для большинства классов Python это поведение по умолчанию. Недазмы не попадают в хорошую причину: они являются смежными коллекциями.

Для коллекций практично имеет отношение равенства (как определено __ уравнением __ () ) на основе равенства их содержания. Это и требование __HHSH __ () , чтобы быть вспомогательным с равенством, конечно, сделает __ хеш __ () Musable, что было бы ужасно для коллекций, содержащих такие объекты.

Итак, вы можете сделать это, но это стоит вам равенство на основе контента.

6
ответ дан 3 December 2019 в 19:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: