当我在我的类中实现函数时,python 是否会在内部重载“==” __cmp__
,就像我们在 C++ 中那样做?
只是好奇。我是 python 新手。:)
当==
您定义__cmp__
. 在这种特殊意义上,Python 级别的“==-operator”由您的定义修改__cmp__
(请注意,仅当您不定义时才如此__eq__
)。
但是operator==
在 C++ 级别上不受此影响,原因有两个:
是的,连同__eq__
, __ne__
__lt__
,
__le__
,
__gt__
和__ge__
(doc)
相对于什么?这__cmp__
就是. _
虽然它已经被弃用了一段时间,而且它完全在 3 中消失了,你应该使用__eq__
和朋友来代替。
是的,还有很多其他的运算符和方法。Python 文档中有完整的列表。