比较操作符
Python包含了一系列的魔法方法,用于实现对象之间直接比较,而不需要采用方法调用。同样也可以重载Python默认的比较方法,改变它们的行为。下面是这些方法的列表:
__cmp__
(self, other)__cmp__
是所有比较魔法方法中最基础的一个,它实际上定义了所有比较操作符的行为(<,==,!=,等等),但是它可能不能按照你需要的方式工作(例如,判断一个实例和另一个实例是否相等采用一套标准,而与判断一个实例是否大于另一实例采用另一套)。__cmp__
应该在 self < other 时返回一个负整数,在 self == other 时返回0,在 self > other 时返回正整数。最好只定义你所需要的比较形式,而不是一次定义全部。如果你需要实现所有的比较形式,而且它们的判断标准类似,那么__cmp__
是一个很好的方法,可以减少代码重复,让代码更简洁。__eq__
(self, other)
定义等于操作符(==)的行为。__ne__
(self, other)
定义不等于操作符(!=)的行为。__lt__
(self, other)
定义小于操作符(<)的行为。__gt__
(self, other)
定义大于操作符(>)的行为。__le__
(self, other)
定义小于等于操作符(<)的行为。__ge__
(self, other)
定义大于等于操作符(>)的行为。
选自:非常全的通俗易懂 Python 魔法方法指南(上) - 知乎 (zhihu.com)
例:23. 合并 K 个升序链表 - 力扣(LeetCode)
1 |
|
比较操作符
http://example.com/2024/03/21/比较操作符-title/