, 나는 이렇게 생각 : 클래스 ID 번호로 해시지고 같은 것을 바탕으로파이썬 클래스를 해시하는 것이 좋은 생각입니까? 예를 들어
이>>> class foo(object):
... pass
...
>>> class bar(foo):
... pass
...
>>> some_dict = { foo : 'foo',
... bar : 'bar'}
>>>
>>> some_dict[bar]
'bar'
>>> some_dict[foo]
'foo'
>>> hash(bar)
165007700
>>> id(bar)
165007700
, 그것은 보인다. 따라서 bar
해시를 foo
또는 bar
으로 해시하거나 클래스를 변경하면 해시 값이 변경 될 염려는 없습니다.
이 동작을 신뢰할 수 있습니까? 아니면 여기에 문제가 있습니까?
* metaclass *에 __hash __() 함수가없는 클래스. –
이것이 "파이썬 2.6의 새로운 기능"페이지에 있지만,이 동작은 파이썬 2.4에서 작동하는 것처럼 보입니다. –
@ Jason 일반 문서에 대한 참조가 변경되었습니다. –