더북(TheBook)

이를 이용해 각 함수 앞부분에서 인수가 올바른지 점검할 수 있다.

def add_time(t1, t2):

if not valid_time(t1) or not valid_time(t2):

raise ValueError('invalid Time object in add_time')

seconds = time_to_int(t1) + time_to_int(t2)

return int_to_time(seconds)

또는 assert을 사용할 수도 있다. assert 문은 불변 조건을 검사하고 조건을 만족하지 않으면 예외를 일으킨다.

def add_time(t1, t2):

assert valid_time(t1) and valid_time(t2)

seconds = time_to_int(t1) + time_to_int(t2)

return int_to_time(seconds)

assert 문을 사용하면 정상 조건을 다루는 코드와 오류를 검사하는 코드를 나눠주는 이점이 있다.

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