Как создать не абстрактный метод __hash__ в абстрактном классе Python
У меня есть абстрактный класс Type
class Type(ABC):
def __hash__(self) -> int:
return hash(self.text_repr())
@abstractmethod
def __eq__(self, other) -> bool: ...
@abstractmethod
def text_repr(self) -> str: ...
Я хочу сделать метод __hash__
не абстрактным, но это не работает именно с магическими методами. Если я допустим переименую метод в hash
, то это будет работать. Но мне нужен именно магический метод, что бы пользоваться структурой данных set
.
Я использую Python 3.10.6.
Источник: Stack Overflow на русском