课程
/后端开发
/Python
/python进阶
def __cmp__(self, s): if self.score == s.score: return cmp(self.name, s.name) return -cmp(self.score, s.score)
2017-12-31
源自:python进阶 6-3
正在回答
cmp爲比較函數 cmp(x,y) 若x>y 則返回1 x=y 則返回0 x<y 則返回-1
return cmp(self.name, s.name) # 的意思是按照首字母排列
return -cmp(self.score, s.score)# 的意思是按照成绩进行排列
明白了 谢谢
__cmp__是一种特殊方法 利用这个,对所需内容进行排序。例如此题。是对学生成绩先按照成绩排序由高到低,如果成绩相同就按照姓名首字母顺序进行排序。 其中要注意的是最后一行的‘-’号 。因为cmp是由低到高,加上-号就由高到底了。
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计