파이썬 바다코끼리 연산자 :=

Dev Smile·2025년 1월 25일
1
post-thumbnail

파이썬에서 가장 귀여운 이름을 가진 기능 중 하나인 "바다코끼리 연산자"(Walrus Operator)에 대해 이야기해 보려고 합니다. 이 연산자의 공식 이름을 직역하면 '할당 표현식 연산자'(Assignment expression operator)이고, 파이썬 3.8에서 처음 도입되었습니다. 그렇다면 왜 이름이 바다코끼리일까요? 바로 := 이 모양이 바다코끼리의 얼굴처럼 보인다고 해서 붙여진 별명입니다. 그렇다고 이것이 단순히 이름만 재미있는 기능은 아닙니다. 실제로 알고 나면 코드의 가독성과 효율성을 동시에 높일 수 있는 강력한 도구입니다.

바다코끼리 연산자란 무엇인가요?

간단히 말하면, 바다코끼리 연산자는 "값을 변수에 할당하면서 표현식 내부에서 그 값을 사용할 수 있도록" 해줍니다. 일반적으로 파이썬에서는 값을 변수에 할당할 때와 그 값을 사용하는 코드를 따로 작성해야 했습니다. 하지만 바다코끼리 연산자는 이 과정을 한 번에 처리할 수 있게 해줍니다.

문법은 다음과 같습니다:

variable := expression

이제 예시를 통해 어떻게 사용되는지 알아보겠습니다.


예제 1: while 루프 간결화

보통 파일에서 데이터를 읽을 때, 아래와 같은 코드를 자주 보셨을 것 같습니다.

# 기존 방식
line = file.readline()
while line:
    print(line.strip())
    line = file.readline()

여기서 같은 file.readline() 호출이 두 번 반복되는 게 조금 거슬리지 않나요? 바다코끼리 연산자를 사용하면 이렇게 간결하게 바꿀 수 있습니다.

# 바다코끼리 연산자 사용
while (line := file.readline()):
    print(line.strip())

line 변수에 값을 할당하면서 동시에 while 조건식에서 그 값을 평가하는 방식입니다. 코드가 짧아졌을 뿐만 아니라 반복 호출을 줄여서 성능상으로도 조금 더 유리할 수 있습니다.


예제 2: 리스트 컴프리헨션에서의 활용

리스트 컴프리헨션에서도 바다코끼리 연산자를 유용하게 사용할 수 있습니다. 예를 들어, 특정 조건에 따라 필터링된 값을 처리하면서 원본 값을 저장하고 싶다면 다음과 같이 작성할 수 있습니다.

# 기존 방식
results = []
for item in data:
    processed = complex_function(item)
    if processed > threshold:
        results.append(processed)

바다코끼리 연산자를 활용하면 이렇게 줄일 수 있습니다.

# 바다코끼리 연산자 사용
results = [processed for item in data if (processed := complex_function(item)) > threshold]

코드가 더 깔끔해지고, 한눈에 "조건과 처리"를 볼 수 있어 가독성이 향상됩니다.


예제 3: 조건문에서의 활용

조건문에서 값 계산과 비교를 동시에 처리할 수도 있습니다. 예를 들어, 사용자의 입력값을 처리한다고 가정해 보겠습니다.

# 기존 방식
user_input = input("숫자를 입력하세요: ")
if user_input.isdigit():
    number = int(user_input)
    if number > 10:
        print("10보다 큰 숫자입니다.")

이 코드 역시 바다코끼리 연산자를 사용하면 이렇게 바뀝니다.

# 바다코끼리 연산자 사용
if (user_input := input("숫자를 입력하세요: ")).isdigit() and (number := int(user_input)) > 10:
    print("10보다 큰 숫자입니다.")

값을 변수에 할당하는 과정이 조건식 내부에서 자연스럽게 처리되니, 코드가 더 직관적이지 않나요?


주의할 점

  1. 가독성: 바다코끼리 연산자가 코드의 간결성을 높여주는 건 사실이지만, 남용하면 오히려 가독성을 해칠 수 있습니다. 따라서 "이 코드가 다른 개발자가 쉽게 이해할 수 있을까?"를 생각해보고 적용하는 것이 좋겠습니다.
  2. 파이썬 3.8 이상: 이 연산자는 파이썬 3.8에서 추가되었으니, 프로젝트 환경이 이를 지원하는지 확인하세요.

결론

바다코끼리 연산자는 간단해 보이지만 코드의 효율성과 가독성을 동시에 높일 수 있는 강력한 도구입니다. 하지만 모든 도구가 그렇듯, 적재적소에 적절히 사용하는 것이 중요합니다.

0개의 댓글

관련 채용 정보