__cmp__是python的类中所使用的特殊函数,一般用于对类对象列表的排序。

举个例子,假设需要对Student类的对象列表按照其成绩grade属性进行排序,那么可以这么设计:

class Student(object):
    def __init__(self):
        self.grade = 0
    def __cmp__(self,other):
        if self.grade<other.grade:
            return -1
        elif self.grade>other.grade:
            return 1
        else:
            return 0

__cmp__用实例自身self和传入的实例other进行比较,如果self应该排在前面,就返回 -1,如果other应该排在前面,就返回1,如果两者相当,返回 0。

最后可以用list.sort函数或者sorted函数来实现排序。


 

相关文章:

  • 2021-10-06
  • 2021-06-12
  • 2021-10-26
  • 2021-08-29
  • 2021-10-09
  • 2021-11-13
  • 2021-05-16
猜你喜欢
  • 2021-12-03
  • 2022-12-23
  • 2021-11-11
  • 2022-12-23
  • 2022-12-23
  • 2021-08-18
  • 2021-11-26
相关资源
相似解决方案