본문 바로가기
개발/Python

🦭바다코끼리 연산자

by shining park 2025. 4. 13.

🦭바다코끼리🦭 연산자

  • :=
  • Assignment Expression, walrus operator
  • Python 3.8부터 도입된 할당 표현 연산자
  • 생김새가 바다코끼리 얼굴 같다고 해서 붙여진 별명

✅ 개념

  • 기존에는 변수에 값을 할당하고 그 값을 다른 곳에서 사용하는 것이 아래처럼 두 개의 구문으로 나뉘었음
value = len(data)
if value > 10:
    print(value)
  • 바다코끼리 연산자를 사용하면 할당과 동시에 표현식 안에서 사용할 수 있음
if (value := len(data)) > 10:
    print(value)

 

✅ 장점

  • 표현식 안에서 변수 할당 가능
    • 기존에는 불가능하던 while, if, list comprehension 안에서의 할당이 가능해짐
    • 반복문 안에서 input()을 여러 번 받아야 할 경우
while (line := input()) != "quit":
	print(f"입력값 : {line}")
  • 반복 계산 감소
    • 같은 값을 여러 번 계산하지 않아도 됨
# Before
if len(mylist) > 5:
    print(len(mylist))

# After
if (n := len(mylist)) > 5:
    print(n)

 

⚠️주의점

  • 할당문(statement) 과는 달리, 표현식(expression) 안에서만 사용 가능
  • 대입 연산자 = 와 구분되어야 함
  • 가독성이 오히려 나빠질 수 있음

❕예시

  • 리스트 컴프리헨션에서 사용
result = [y for x in data if (y := process(x)) is not None]

 

  • 정규표현식에서 매치된 결과 바로 사용
import re

if (match := re.match(r"\d+", "123abc")):
    print(match.group())

 

'개발 > Python' 카테고리의 다른 글

Scikit-Learn > fit(), transform()  (0) 2025.05.10
DB > fetchmany, fetchone, fetchall  (0) 2025.04.27
🪄매직 메소드 __xxx__  (0) 2025.04.17
string to boolean 형변환  (1) 2025.04.09
시간대(Timezone) 처리 방식  (0) 2025.04.09