Для большинства классов Python это поведение по умолчанию. Ненасытные не могут быть объяснены по уважительной причине: они являются изменчивыми коллекциями.
Для коллекций целесообразно иметь отношение равенства (как определено __eq__()
), основанное на равенстве их содержимого. Это, а также требование, чтобы __hash__()
соответствовал равенству, конечно, сделает __hash__()
изменчивым, что было бы ужасно для коллекций, содержащих такие объекты.
Таким образом, вы можете сделать это, но это будет стоить вам отношения равенства на основе контента.