代码之家  ›  专栏  ›  技术社区  ›  AJ.

在python中继承自定义运算符?

  •  1
  • AJ.  · 技术社区  · 15 年前

    如果我有定义 __cmp__ 和扩展了A类的B类,似乎我必须重新定义 α-CMPa 在B班,对吗?

    是否有比在类A中实现方法“cmp”并从 α-CMPa 在甲级和乙级?

    谢谢, AJ


    更新:问题似乎是我缺少python 3的曝光。当我读它的时候, α-CMPa 不再使用: http://docs.python.org/dev/3.0/whatsnew/3.0.html#ordering-comparisons

    相反,我使用新的排序比较运算符重新实现了我的类: http://docs.python.org/dev/3.0/reference/datamodel.html#object. lt

    1 回复  |  直到 15 年前
        1
  •  1
  •   Sev    15 年前

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

    我们假设您扩展了类A:

    class B(A):
    

    因此,要从B类中的A类中检索CMP,需要使用:

    A.__cmp__ 从B类内

    是我的猜测。