태지쌤

로봇 & 코딩교육 No.1 크리에이터

자세히보기

IT관련

파이썬 match-case 문 완벽 정리 — if-elif보다 깔끔하게 조건 분기하기

태지쌤 2026. 5. 28. 18:15
반응형

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 이상 환경을 사용하고 있다면 적극 활용해 보자.

#파이썬 #Python #match-case #matchcase #파이썬3.10 #패턴매칭 #조건문 #if-elif-else #파이썬문법 #Python문법 #코딩 #프로그래밍 #파이썬기초 #파이썬입문 #개발공부
반응형