-2
사용자 정의 __hash__
함수가 있습니다.예기치 않은 파이썬 해시 자르기
hash(object)
은 지정된 정수 너비로 자릅니다. 그건 내 시스템에 64이야.
그러나 사용자 정의 해시 함수에서 쫓겨나는 값인 & 0xffffffffffffffff
인 경우 가끔 있지만 (항상 그런 것은 아닙니다!) 잘라내기를 통해 변형됩니다.
무슨 일 이니?
사용자 정의 __hash__
함수가 있습니다.예기치 않은 파이썬 해시 자르기
hash(object)
은 지정된 정수 너비로 자릅니다. 그건 내 시스템에 64이야.
그러나 사용자 정의 해시 함수에서 쫓겨나는 값인 & 0xffffffffffffffff
인 경우 가끔 있지만 (항상 그런 것은 아닙니다!) 잘라내기를 통해 변형됩니다.
무슨 일 이니?
파이썬 해시는 이고 정수입니다. __hash__
출력은 부호없는 64 비트 int에 맞을 수 있지만 반드시 부호가있는 것은 아닙니다. (또한, 그것은 당신이보고있는 잘림이 아닙니다.)
어떻게 변형 되었습니까? 어떤예요? –