PYTHON · 기초 문법
Walrus 연산자 & 구조적 패턴
Python 3.8+ 대입 표현식(:=)으로 중복 계산을 제거합니다.
기초 문법중급walrus:=대입표현식Python 3.8
핵심 설명
Python 3.8+ 대입 표현식(:=)으로 중복 계산을 제거합니다.
Python code
import re
# walrus := — 할당과 평가를 동시에
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# while 루프에서 유용
numbers = iter(data)
while (n := next(numbers, None)) is not None:
if n % 2 == 0:
print(f"짝수: {n}")
# 정규식 매치 결과 재사용
text = "Python 3.12 출시"
if m := re.search(r"Python (\d+\.\d+)", text):
print(f"버전: {m.group(1)}") # 3.12
# 컴프리헨션에서 중복 계산 제거
def heavy(x): return x * x
# 나쁜 예: heavy() 두 번 호출
results_bad = [heavy(x) for x in range(10) if heavy(x) > 25]
# 좋은 예: walrus로 한 번만 호출
results = [y for x in range(10) if (y := heavy(x)) > 25]
print(results) # [36, 49, 64, 81]학습 팁
:=는 가독성이 중요한 코드에서는 주의해서 사용하세요. 남용하면 코드를 읽기 어렵게 만들 수 있습니다.
주의할 점
Walrus 연산자로 할당된 변수는 컴프리헨션 바깥 스코프에도 영향을 줍니다. 의도치 않은 변수 누출에 주의하세요.
자주 묻는 질문
Walrus 연산자 & 구조적 패턴란 무엇인가요?
Python 3.8+ 대입 표현식( := )으로 중복 계산을 제거합니다.
Walrus 연산자 & 구조적 패턴 학습 시 주의할 점은 무엇인가요?
Walrus 연산자로 할당된 변수는 컴프리헨션 바깥 스코프에도 영향을 줍니다. 의도치 않은 변수 누출에 주의하세요.
Continue Learning
Python 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.