Следуя из this вопроса, мне интересно узнать, когда вычисляется хэш-объект python?
- В экземпляре
__init__время, - В первый раз вызывается
__hash__(), - Каждый раз, когда вызывается
__hash__(), или - Любая другая возможность, которую я могу пропустить?
Может ли это отличаться в зависимости от типа объекта?
Почему hash(-1) == -2, в то время как другие целые числа равны их хешу?