17.4 더 복잡한 예
16.1 시간(266쪽) 절의 is_after는 Time 객체 두 개를 인자로 받기 때문에 재작성하기가 조금 더 복잡하다. 이런 경우엔 첫 번째 인자를 self, 두 번째 인자를 other라고 이름 짓는 것이 관례가 있다.
# class Time: 정의 안쪽
def is_after(self, other):
return self.time_to_int() > other.time_to_int()
이 메서드를 이용하려면 객체 하나에 대해서는 is_after를 호출해야 하고, 다른 하나는 인수로 전달해야 한다.
>>> end.is_after(start)
True
이런 식의 구문이 좋은 점은 문장처럼 읽을 수 있다는 것이다. “end가 start 이후인가(is after)?”*
* 역주 원문은 “end is after start?”이다.