더북(TheBook)

고객이 레모네이드를 주문했다면 과즙을 낼 레몬이 과일 바구니에 최소 하나는 있어야 한다. 다음은 레몬의 개수를 읽어와서 그 값이 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 변수에 접근해야 할 필요가 있는 것처럼 보이기 때문에 실제보다 변수가 중요해 보인다. 하지만 그렇지 않다.

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