2017-02-28 19 views
-2

사용자 정의 __hash__ 함수가 있습니다.예기치 않은 파이썬 해시 자르기

hash(object)은 지정된 정수 너비로 자릅니다. 그건 내 시스템에 64이야.

그러나 사용자 정의 해시 함수에서 쫓겨나는 값인 & 0xffffffffffffffff 인 경우 가끔 있지만 (항상 그런 것은 아닙니다!) 잘라내기를 통해 변형됩니다.

무슨 일 이니?

+0

어떻게 변형 되었습니까? 어떤예요? –

답변

1

파이썬 해시는 이고 정수입니다. __hash__ 출력은 부호없는 64 비트 int에 맞을 수 있지만 반드시 부호가있는 것은 아닙니다. (또한, 그것은 당신이보고있는 잘림이 아닙니다.)