Python 제어문 - match문

 

도입 버전: Python 3.10 (2021-10 릴리스)

개념: 다중조건을 처리하는 2번째 방법(elif와 유사한 기능)
        제어문의 일종으로 조건을 case별로 비교하여 일치하는 case를 실행


특징: 다른언어의 switch문 유사, 차이점 break문이 없고 case실행후 바로탈출

 

문법:
match 조건
  case 비교조건1:
     실행코드1
  case 비교조건2:
     실행코드2
  case _ : 
     실행코드N


''' python example
match 1:
    case 1:
        print("match 1")
    case 2:
        print("match 2")
    case _:
        print("default")
'''

활용 예)

# http 오류코드 (200, 400, 500) case별로 오류메세지를 출력
http_err_code = 200

match http_err_code:
    case 200:
        print("OK")
        print("요청이 성공적으로 되었습니다. ")
    case 400:
        print("Bad Request")
        print("이 응답은 잘못된 문법으로 인하여 서버가 요청을 이해할 수 없음을 의미합니다.")
    case 500:
        print("Internal Server Error")
        print("서버가 처리 방법을 모르는 상황이 발생했습니다. 서버는 아직 처리 방법을 알 수 없습니다.")
    case _:
        print("default 코드입니다.")
 

 

언제쓰면 좋은가?

 

  • 깊은 중첩 구조를 깔끔히 분해해야 할 때(예: API 응답, AST/파서, 이벤트 메시지).
  • if/elif 체인이 길어지는 로직.
  • 데이터 형태가 분기 조건의 핵심일 때(길이·키 존재·타입·필드 조합).

 

 

-------------------------------------------------------------------------------

비전공자/초보자도 쉽게 배우는 Python 기초 수업을 소개합니다.

https://inf.run/7QqW9

 

자동매매 python기초| 코딩멘토 - 인프런 강의

비전공자도 쉽게 이해할수 있는 python 이론과 실습과정으로 진행됩니다. 응용프로그램개발로 지어지는 전체 로드맵에서 첫 번째 단계 python프로그래밍 입문 과정입니다. [전체-로드맵] python기초-

www.inflearn.com

-------------------------------------------------------------------------------

+ Recent posts