思考题怎么解?
如果list不仅仅包含 Student 类,则 __cmp__ 可能会报错:
L = [Student('Tim', 99), Student('Bob', 88), 100, 'Hello']
print sorted(L)
请思考如何解决。
如果list不仅仅包含 Student 类,则 __cmp__ 可能会报错:
L = [Student('Tim', 99), Student('Bob', 88), 100, 'Hello']
print sorted(L)
请思考如何解决。
2017-12-14
class Student(object):
def __init__(self,name,score):
self.name = name
self.score = score
def __str__(self):
return '(%s,%s)'%(self.name,self.score)
__repr__ = __str__
def __cmp__(self, s):
if isinstance(s,Student):
return cmp(self.name,s.name)
else:
return cmp(self.name,s)
L = [Student('Tim', 99), Student('Bob', 88), 100, 'Hello']
print sorted(L)
举报