고객이 레모네이드를 주문했다면 과즙을 낼 레몬이 과일 바구니에 최소 하나는 있어야 한다. 다음은 레몬의 개수를 읽어와서 그 값이 0이 아닌지 검사하는 코드다.
def make_lemonade(count): ... def out_of_stock(): ... count = fresh_fruit.get('레몬', 0) if count: make_lemonade(count) else: out_of_stock()
간단해 보이는 이 코드의 문제점은 필요 이상으로 잡음이 많다는 것이다. count 변수는 if 문의 첫 번째 블록 안에서만 쓰인다. if 앞에서 count를 정의하면 else 블록이나 그 이후의 코드에서 count 변수에 접근해야 할 필요가 있는 것처럼 보이기 때문에 실제보다 변수가 중요해 보인다. 하지만 그렇지 않다.