https://link.coupang.com/a/d7iI6KxQJw

LG전자 2026 그램 15 코어 Ultra5 - 노트북 | 쿠팡
현재 별점 4.8점, 리뷰 246개를 가진 LG전자 2026 그램 15 코어 Ultra5! 지금 쿠팡에서 더 저렴하고 다양한 노트북 제품들을 확인해보세요.
www.coupang.com
Python Syntax / Clean Code
파이썬 match-case 문 완벽 정리 — if-elif보다 깔끔하게 조건 분기하기
파이썬 3.10 버전부터 새롭게 도입된 match-case 문은 하나의 변수 값에 따라 여러 갈래로 분기할 때, 기존 if-elif-else보다 훨씬 간결하고 읽기 쉬운 코드를 작성할 수 있게 해 준다.

match-case 문이란?
match-case 문은 특정 변수의 값을 위에서부터 순서대로 각 case와 비교하다가, 일치하는 case를 만나면 해당 블록의 코드를 실행하는 구조다. 다른 언어의 switch-case 문과 유사하지만, 파이썬답게 더 유연하고 강력한 패턴 매칭을 지원한다.
if-elif-else의 한계
다음 예제를 통해 필요성을 살펴보자.
학점(grade)에 따라 성적 메시지를 출력하는 코드를 if-elif-else로 작성하면 아래와 같다.
>>> grade = 'B'
>>> if grade == 'A':
... print("탁월한 성적입니다.")
... elif grade == 'B':
... print("우수한 성적입니다.")
... elif grade == 'C':
... print("보통입니다.")
... else:
... print("노력이 필요합니다.")
...
우수한 성적입니다.
동작 자체에는 문제가 없다. 하지만 grade ==이 줄마다 반복되어 코드가 다소 장황해 보인다. 비교 대상이 많아질수록 이 반복은 더 두드러진다.
match-case 문으로 개선하기
같은 코드를 match-case 문으로 바꾸면 훨씬 깔끔해진다.
>>> grade = 'B'
>>> match grade:
... case 'A':
... print("탁월한 성적입니다.")
... case 'B':
... print("우수한 성적입니다.")
... case 'C':
... print("보통입니다.")
... case _:
... print("노력이 필요합니다.")
...
우수한 성적입니다.
grade ==을 반복할 필요 없이, match 뒤에 비교할 변수를 한 번만 적고 각 case에는 비교 값만 간결하게 쓰면 된다.
기본 구조
match-case 문의 기본 구조는 다음과 같다.
match 변수:
case 패턴1:
수행할_문장1
...
case 패턴2:
수행할_문장2
...
case _:
수행할_문장3
...
각 요소를 정리하면 아래와 같다.
- ✔ match 변수 — 비교 기준이 되는 변수를 지정한다.
- ✔ case 패턴 — 변수와 비교할 값을 지정한다. 위에서부터 순서대로 비교하며, 처음 일치하는 case의 블록만 실행된다.
- ✔ case _ — 어떤 case에도 일치하지 않을 때 실행되는 기본(default) 블록이다.
_는 '그 외 모든 값'을 나타내는 와일드카드 패턴으로, if-elif-else의 else와 같은 역할을 한다.

정리
| 구분 | if-elif-else | match-case |
|---|---|---|
| 도입 버전 | 모든 버전 | Python 3.10 이상 |
| 단일 변수 분기 | 비교 표현 반복 | 간결하고 직관적 |
| 기본(default) 처리 | else | case _ |
match-case 문은 단순한 값 비교 외에도 타입 패턴, 구조 분해 패턴 등 고급 패턴 매칭도 지원하므로, 익혀 두면 복잡한 조건 로직도 훨씬 깔끔하게 표현할 수 있다. 파이썬 3.10 이상 환경을 사용하고 있다면 적극 활용해 보자.
'IT관련' 카테고리의 다른 글
| 윈도우 파는 모르는 리눅서들의 비밀, 왜 굳이 '터미널 명령'으로 프로그램을 설치할까? (0) | 2026.05.28 |
|---|---|
| [개발 상식] 텍스트 한 줄 바꿨는데 프로그램이 깨진다? 코드 '외부화'가 필요한 이유 (0) | 2026.05.28 |
| while(true)는 알고리즘일까?무한 루프로 보는 알고리즘의 유한성 (0) | 2026.05.20 |
| 코스페이시스 에듀가 딜라이텍스 에듀로 바뀌었습니다 — 달라진 점 정리 (0) | 2026.05.20 |
| 코딩 없이 앱 만들기 — 스마트메이커 vs MIT 앱인벤터, 뭐가 다를까? (0) | 2026.05.14 |