이렇게 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
절의 문장 블록이 실행된다. 이 특별한 언어 구성자는 앞으로 종종 사용할 것이다.