class Student:
def __init__(self, name, grade, score):
self.name = name
self.grade = grade
self.score = score
def __repr__(self):
return f"Student(name='{self.name}, grade='{self.grade}', score='{self.score}')"
def __lt__(self, other):
if self.score != other.score:
return self.score < other.score
elif self.name != other.name:
return self.name > other.name
else:
return self.grade < self.grade
student1 = Student(name='Bob', grade=2, score=90)
student2 = Student(name='Alice', grade=1, score=95)
이 경우, student1이 self로, student2가 other로 들어온다면
self.name은 'Bob'
other.name은 'Alice'
따라서 self.name > other.name의 비교는
'Bob'과 'Alice'를 비교하는 것이 되고, 이 결과는 True가 됨