Inheritance 在Python中继承自定义运算符?

Inheritance 在Python中继承自定义运算符?,inheritance,python-3.x,Inheritance,Python 3.x,如果我有定义\uuuu cmp\uuuu的类A和扩展类A的类B,那么我似乎必须在类B中重新定义\uuuu cmp\uuuu。这是正确的吗 有没有比在类a中实现方法“cmp”并从类a和类B中的\uu\cmp\uu的单独实现中调用它更好的解决方法 谢谢, -aj 更新:问题似乎是我没有接触到Python 3。正如我所读到的,\uu\cmp\uu不应再被使用: 相反,我使用新的排序比较运算符重新实现了我的类:假设您有一个名为“a”的类,并且该类有一个“cmp”的定义 假设您扩展了A类: class

如果我有定义
\uuuu cmp\uuuu
的类A和扩展类A的类B,那么我似乎必须在类B中重新定义
\uuuu cmp\uuuu
。这是正确的吗

有没有比在类a中实现方法“cmp”并从类a和类B中的
\uu\cmp\uu
的单独实现中调用它更好的解决方法

谢谢, -aj


更新:问题似乎是我没有接触到Python 3。正如我所读到的,
\uu\cmp\uu
不应再被使用:


相反,我使用新的排序比较运算符重新实现了我的类:

假设您有一个名为“a”的类,并且该类有一个“cmp”的定义

假设您扩展了A类:

class B(A):
因此,要从类B中的类A中检索_u____________; cmp,可以使用:

A.\uuuu cmp\uuuu
来自B类


这是我的猜测。

假设您有一个名为“a”的类,并且该类对“cmp”有一个定义

假设您扩展了A类:

class B(A):
因此,要从类B中的类A中检索_u____________; cmp,可以使用:

A.\uuuu cmp\uuuu
来自B类


这是我的猜测。

为什么你认为你需要在B中重新定义它?为什么你认为你需要在B中重新定义它?