У меня есть родительский класс данных, а подкласс класса наследует первый класс. Я переопределил метод __eq__()
в родительском классе данных. Но когда я сравниваю подкласс объектов данных, он не использует метод __eq__()
, определенный в родительском классе данных. Почему это происходит? Как я могу это исправить?
MWE :
from dataclasses import dataclass
@dataclass
class A:
name: str
field1: str = None
def __eq__(self, other):
print('A class eq')
return self.name == other.name
@dataclass
class B(A):
field2: str = None
b1 = B('b', 'b1')
b2 = B('b', 'b2')
print(b1 == b2)