Python에서 Switch 문을 작성하는 방법 (2025) - Switch Case 예제
Takashi Yamamoto
Infrastructure Engineer · Leapcell

소개
많은 프로그래밍 언어에서 switch 문은 변수 또는 표현식의 값을 기반으로 여러 옵션 중 하나의 코드 블록을 실행할 수 있는 제어 구조입니다. Python에는 C, Java 또는 JavaScript와 같은 언어의 기본 제공 switch
문이 없지만 이 기능을 모방하는 효과적인 방법이 있습니다. Python 3.10에서는 match
문의 도입으로 switch-case 동작을 구현하기 위한 우아하고 고유한 솔루션이 제공됩니다.
이 튜토리얼에서는 switch 문을 모방하는 기존 방법을 살펴보고 새로운 match
문을 자세히 살펴봅니다.
Key Takeaways
- Python에는 기본
switch
문이 없지만 여러 가지 대체 방법을 제공합니다. - Python 3.10에 도입된
match
문은 여러 사례를 처리하는 가장 Pythonic한 방법입니다. - 간단한 매핑의 경우 사전은 여전히 효과적인 솔루션입니다.
기존 방법
Python 3.10 이전에는 개발자가 사전을 사용하거나 if-elif-else
체인을 사용하여 switch 문을 모방하는 경우가 많았습니다. 다음은 두 가지 일반적인 접근 방식입니다.
1. 사전 사용
사전은 키에 매핑된 함수 또는 값을 저장하여 switch-case 동작을 효과적으로 모방할 수 있습니다.
# 예: 사전을 사용한 기본 Switch def case_one(): return "Case 1 Executed" def case_two(): return "Case 2 Executed" def default_case(): return "Default Case" switch = { 1: case_one, 2: case_two } # 입력 값 case_value = 1 # 해당 사례 실행 result = switch.get(case_value, default_case)() print(result)
2. if-elif-else
체인 사용
if-elif-else
체인은 간단하지만 사례가 많으면 번거로울 수 있습니다.
# 예: if-elif-else를 사용한 기본 Switch case_value = 3 if case_value == 1: result = "Case 1 Executed" elif case_value == 2: result = "Case 2 Executed" else: result = "Default Case" print(result)
Match 문 (Python 3.10+)
Python 3.10에 도입된 match
문은 switch-case 기능을 구현하는 구조화된 방법을 제공합니다. 패턴 일치를 지원하므로 다른 언어의 기존 switch 문보다 더 강력합니다.
구문
match variable: case pattern_1: # 코드 블록 case pattern_2: # 코드 블록 case _: # 기본 블록
예제 1: 기본 Match-Case
case_value = 2 match case_value: case 1: result = "Case 1 Executed" case 2: result = "Case 2 Executed" case _: result = "Default Case" print(result)
예제 2: 고급 패턴 일치
패턴 일치를 사용하면 데이터 구조 일치와 같은 복잡한 사례가 가능합니다.
# 예: 튜플 일치 data = ("action", 42) match data: case ("action", value) if value > 40: result = f"Action with value {value}" case ("action", value): result = f"Action with smaller value {value}" case _: result = "No match" print(result)
각 방법을 사용하는 시기
- 사전: 사례가 간단하고 값 또는 함수에 직접 매핑될 때 사용합니다.
- If-Elif-Else: 사례 수가 적거나 조건에 복잡한 표현식이 포함될 때 사용합니다.
- Match 문: 복잡한 일치 시나리오 또는 구조화된 데이터(예: 튜플, 목록, 사전)로 작업할 때 사용합니다.
FAQs
Python 3.10에 도입된 match
문은 패턴 일치를 위한 제어 구조로, 깔끔하고 다양한 케이스 처리가 가능합니다.
사전, if-elif-else
체인 또는 Python 3.10+의 최신 match
문을 사용하여 switch
문을 모방할 수 있습니다.
아니요, match
문은 Python 3.10 이상에서만 사용할 수 있습니다. 이전 버전의 경우 사전 또는 if-elif-else
체인을 사용하십시오.
결론
Python의 다재다능성을 통해 사전 및 if-elif-else
체인에서 새롭고 강력한 match
문에 이르기까지 switch-case 동작을 구현하는 여러 가지 방법을 사용할 수 있습니다. Python 3.10 이상에서는 match
문이 이 기능을 구현하는 데 선호되고 가장 Pythonic한 방법입니다. 사용 가능한 옵션을 이해하면 프로젝트에 가장 적합한 접근 방식을 선택할 수 있습니다.
추가 리소스
Leapcell은 Python 프로젝트를 클라우드에 배포하는 데 있어 최고의 선택입니다.
Leapcell은 웹 호스팅, 비동기 작업 및 Redis를 위한 차세대 서버리스 플랫폼입니다.
다국어 지원
- Node.js, Python, Go 또는 Rust로 개발하십시오.
무제한 프로젝트를 무료로 배포
- 사용량에 대해서만 지불하십시오. 요청도 없고 요금도 없습니다.
탁월한 비용 효율성
- 유휴 요금 없이 종량제로 지불하십시오.
- 예: $25는 평균 응답 시간 60ms에서 694만 건의 요청을 지원합니다.
간소화된 개발자 경험
- 간편한 설정을 위한 직관적인 UI
- 완전 자동화된 CI/CD 파이프라인 및 GitOps 통합
- 실행 가능한 통찰력을 위한 실시간 지표 및 로깅
손쉬운 확장성 및 고성능
- 고도의 동시성을 쉽게 처리할 수 있도록 자동 확장
- 운영 오버헤드가 전혀 없으므로 구축에만 집중하십시오.
설명서에서 자세히 알아보세요!
X에서 팔로우하세요: @LeapcellHQ