더북(TheBook)

BETTER WAY 10 대입식을 사용해 반복을 피하라

대입식은 영어로 assignment expression이며 왈러스 연산자(walrus operator)라고도 부른다. 이 대입식은 파이썬 언어에서 고질적인 코드 중복 문제를 해결하고자 파이썬 3.8에서 새롭게 도입된 구문이다. 일반 대입문(assignment statement)a = b라고 쓰며 ‘a 이퀄(equal) b’라고 읽지만, 왈러스 연산자는 a := b라고 쓰며 ‘a 왈러스 b’라고 읽는다(‘왈러스’라는 이름은 :=이 바다코끼리(walrus)의 눈과 엄니처럼 보이기 때문에 붙여졌다).

대입식은 대입문이 쓰일 수 없는 위치에서 변수에 값을 대입할 수 있으므로 유용하다. 예를 들어 if 문의 조건식 안에서 대입식을 쓸 수 있다. 대입식의 값은 왈러스 연산자 왼쪽에 있는 식별자에 대입된 값으로 평가된다.

예를 들어 주스 바에서 사용할 신선한 과일 바구니를 관리한다고 하자. 과일 바구니의 내용물을 정의하면 다음과 같다.

fresh_fruit = {
    '사과': 10,
    '바나나': 8, 
    '레몬': 5,
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.