한두 수준으로만 내포시켜도 유용한 프로그램을 아주 많이 만들 수 있다. 예를 들어 이 책에서 구현하는 프로그램들 중에 divisorpattern.py
와 전반적인 구조가 비슷한 프로그램이 많이 있다.
내포되었음을 알려주기 위해 프로그램 코드 안에서 문장을 들여 쓴다. 다시 한번 말하지만 들여쓰기는 파이썬에서 아주 중요하다(다른 프로그래밍 언어에서는 내포하기 위해 중괄호 등 별도의 기호를 사용한다). [프로그램 1.3.4]에서 i 루프는 외부 루프(outer loop), j
루프는 내부 루프(inner loop)라고 한다. 외부 루프가 한 번 돌 때마다 내부 루프는 처음부터 끝까지 반복된다. 늘 그렇듯이 이런 새로운 프로그래밍 구조체를 이해할 때는 트레이스를 만들어 살펴보는 편이 가장 좋다.
내포를 이용한 두 번째 예로서 소득세율을 계산하는 세금 프로그램을 생각해보자. 소득이 없거나 그 이하인 사람은 세금을 내지 않고, $0보다 많지만 $8,925보다 적은 사람은 10%, $8,925과 같거나 더 많지만 $36,250보다 적은 사람은 15%의 세율이 적용된다. 이 논리는 if-else
문을 내포시켜 다음과 같이 구현할 수 있다.
if income < 0.0: rate = 0.00 else: if income < 8925: rate = 0.10 else: if income < 36250: rate = 0.15 else: if income < 87850: rate = 0.25 ...