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