当我在我的类中实现__cmp__
函数时,python是否在内部重载“==”,我们在C ++中是如何做到的?
好奇。我是python的新手。 :)
答案 0 :(得分:3)
定义==
时,Python代码中使用的__cmp__
的含义会发生变化。在这个特定意义上,Python级别的“== - 运算符”会被您对__cmp__
的定义进行修改(请注意,只有在您不定义__eq__
时才会这样)。
但是C ++级别的operator==
不受此影响,原因有两个:
答案 1 :(得分:1)
是的,以及__eq__
,__ne__
__lt__
,
__le__
,
__gt__
和__ge__
(doc)
答案 2 :(得分:1)
与什么相反?这就是__cmp__
。
虽然它已经被弃用了一段时间,并且它完全消失了3,你应该使用__eq__
and friends代替。
答案 3 :(得分:0)
是的,同样有很多其他运营商和方法。 Python docs中有完整列表。