728x90
안녕하세요.
오늘은 왈러스 연산자(:=) 에 대해 알아보겠습니다.
파이썬 3.8 버전에서 추가된 왈러스 연산자(:=)의 정식 명칭은 대입 표현식(Assignment Expression)입니다.
이 연산자를 잘 활용하면 코드가 훨씬 간결해집니다.
왈러스 연산자(:=)
기존 파이썬에서는 변수에 값을 할당하는 구문(=)과 값을 비교하는 조건문은 한 줄에 쓸 수 없었습니다.
반드시 할당을 먼저 하고, 그 다음 줄에서 비교해야 했죠.
하지만 왈러스 연산자를 사용하면 변수에 값을 할당하는 동시에, 그 값을 바로 반환할 수 있습니다.
즉, 할당과 테스트(조건 검사)를 한 줄로 줄여줍니다.
사용 예시
기존 방식 ( := 사용 X)
리스트의 길이를 구해서 변수 n에 담고, 그 n을 다시 if 문에서 검사해야 합니다.
코드가 세로로 길어지고 n이라는 변수가 시선에 흩어집니다.
data = [1, 2, 3, 4, 5]
n = len(data) # 1. 할당
if n > 3: # 2. 조건 검사
print(f"데이터가 {n}개로 충분합니다.")
왈러스 연산자 사용
할당과 조건 검사를 한 줄에 끝낼 수 있습니다.
n에는 len(data) 값이 저장되고, 동시에 그 값이 > 3과 비교됩니다.
data = [1, 2, 3, 4, 5]
if (n := len(data)) > 3: # 할당과 검사를 동시에!
print(f"데이터가 {n}개로 충분합니다.")
while 문에서의 활용
기존 방식 ( := 사용 X)
입력을 받기 위해 while 문 밖에서 한 번, 안에서 한 번 코드를 중복해서 작성하거나, while True와 break를 써야 했습니다.
# 방법 1: 코드가 중복됨
line = input("입력하세요: ") # 중복
while line != "quit":
print(f"당신의 입력: {line}")
line = input("입력하세요: ") # 중복
# 방법 2: while True 패턴
while True:
line = input("입력하세요: ")
if line == "quit":
break
print(f"당신의 입력: {line}")
왈러스 연산자 사용
입력받은 값이 line에 저장되고, 그 값이 quit인지 바로 검사합니다.
# line에 입력을 저장하고, 그 값이 "quit"이 아니면 반복
while (line := input("입력하세요: ")) != "quit":
print(f"당신의 입력: {line}")
'Python' 카테고리의 다른 글
| [Python] pathlib.Path 파일 경로 다루기 (0) | 2025.12.02 |
|---|---|
| [Python] heapq 활용해 정렬 및 최소값 찾기 (0) | 2025.12.01 |
| [Python] is와 ==의 차이 (0) | 2025.11.26 |
| [Python] uuid로 고유한 식별자(Unique ID) 만들기 (0) | 2025.11.25 |
| [Python] isinstance()로 변수 타입 확인하기 (0) | 2025.11.23 |