2 ms·
I'm not sure what part of the article you refer to, but: - If the objects are value types (as dataclasses are, since they respect equality): it makes sense to
by chubot 9y ago
I'm not sure what part of the article you refer to, but:
- If the objects are value types (as dataclasses are, since they respect equality): it makes sense to use them as dict keys, just as it makes sense to use tuples as dict keys. Changing a tuple to a namedtuple is natural.
- If the objects have reference semantics rather than value semantics, you can still use them as dict keys in Python. The default __hash__ is the id/address of the object (the default __eq__ uses id() too). I don't particularly like this style but I have seen it used. It feels error-prone to me and not "algebraic".