🦭바다코끼리🦭 연산자
- :=
- 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 |