더북(TheBook)

이렇게 if-else 문을 적용하면 내포 수준이 너무 깊어져서 이해하기 어려워진다. 상호배타적인 여러 가능성 중에서 하나를 선택하는 일은 아주 자주 일어나므로 이렇게 깊게 내포하지 않고 구현할 수 있는 다른 방법이 필요하다. 이런 용도로 파이썬에서는 다음과 같은 elif절을 if 조건문 뒤에, else 절 앞에 무한히 사용할 수 있게 해준다.

elif <불형 표현식>:
    <문장 블록>

elif 블록에 문장이 하나만 있을 때는 코드를 짧고 명료하게 할 수 있도록 문장을 elif 키워드와 같은 줄에 놓을 수 있다. 이 구성자를 이용하면 구간별 세율을 다음과 같이 계산할 수 있다.

if   income  <      0: rate = 0.00
elif income  <   8923: rate = 0.10
elif income  <  36250: rate = 0.15
elif income  <  87850: rate = 0.23
elif income  < 183250: rate = 0.28
elif income  < 398350: rate = 0.33
elif income  < 400000: rate = 0.35
else:                  rate = 0.396

파이썬은 불형 표현식을 순서대로 평가해 True가 되는 첫 블록을 실행한다. 나열된 조건 중 하나도 만족시기키 못하면(이 코드에서는 소득이 아주 많은 경우) 끝에 나오는 else 절의 문장 블록이 실행된다. 이 특별한 언어 구성자는 앞으로 종종 사용할 것이다.

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