sort 메서드는 자연스럽게 순서를 정할 수 있는 거의 대부분의 내장 타입(문자열, 부동소수점(floating point) 수 등)에 대해 잘 작동한다. sort가 객체를 어떻게 처리할까? 예를 들어 다음 예제는 건설 현장에서 사용해야 하는 여러 도구를 표현하는 클래스를 인스턴스를 출력할 수 있는 __repr__ 메서드와 함께(Better way 75: ‘디버깅 출력에는 repr 문자열을 사용하라’ 참고) 정의한다..

    class Tool:
        def __init__(self, name, weight):
            self.name = name
            self.weight = weight
    
        def __repr__(self):
            return f'Tool({self.name!r}, {self.weight})'
            
    tools = [
        Tool('수준계', 3.5),
        Tool('해머', 1.25),
        Tool('스크류드라이버', 0.5),
        Tool('끌', 0.25),
    ]
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.