我试图比较从公共基类(也是@dataclass)继承的两个数据类。
继承类的字段是它们特有的,在比较时不考虑;我只想比较基类属性。
这是我的尝试:
from dataclasses import dataclass, field
@dataclass(order=True)
class Base:
a: float
@dataclass(order=True)
class ChildA(Base):
attribute_a: str = field(compare=False)
@dataclass(order=True)
class ChildB(Base):
attribute_b: str = field(compare=False)
ca = ChildA(1, 'a')
cb = ChildB(2, 'b')
ca < cb
Run Code Online (Sandbox Code Playgroud)
但是,我得到:
TypeError: '<' not supported between instances of 'ChildA' and 'ChildB'
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?