더북(TheBook)

17.4 더 복잡한 예

16.1 시간(266쪽) 절의 is_afterTime 객체 두 개를 인자로 받기 때문에 재작성하기가 조금 더 복잡하다. 이런 경우엔 첫 번째 인자를 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

이런 식의 구문이 좋은 점은 문장처럼 읽을 수 있다는 것이다. endstart 이후인가(is after)?*

 


 

* 역주 원문은 “end is after start?”이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.