더북(TheBook)

한두 수준으로만 내포시켜도 유용한 프로그램을 아주 많이 만들 수 있다. 예를 들어 이 책에서 구현하는 프로그램들 중에 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
            ...
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.