[Python-Dev] bool does not want to be subclassed?
François Pinard
pinard at iro.umontreal.ca
Mon Feb 16 15:15:16 EST 2004
[Martin von Löwis]
> A mutable type is one whose instances have state that can change over
> the life of the object. [...]
Interesting presentation. The following detail is worth stressing:
> equal objects should hash equal.
This should be stressed as a formal requirement for a correctly behaved
hashing function. The other formal requirement being that a hash
function should always compute the same value for the lifespan of an
object, and that value should be a non-negative integer (not a long
one?). A _desirable_ property, but not a requirement, is that two
unequal objects yield different hashes.
So, instead of explaining how we should cleverly use `__hash__' to
describe immutability, we might describe what `__hash__' ought to
be, and then merely notice that hashable objects could be useful to
represent immutable objects (whether user objects or builtin objects).
--
François Pinard http://www.iro.umontreal.ca/~pinard
More information about the Python-Dev
mailing list