Python은 다른 언어에는 플로우 제어(flow control)가 명확하지 않다.
Python이 이를 처리 하는 방법
if/elif/else 연쇄 표현식을 쓰는 방법
매칭할 값을 사전에 키로 저장하고, 이 값들을 사용하는 것이다.
파이썬에 switch/case 같은 구문을 추가하려는 많은 계획들이 실패한 후, 파이썬 언어를 만든 ‘구이도 반 로섬’과 여러 사람들이 제안한 파이썬 ‘3.10: 구조적 패턴 매칭(Structural Pattern Matching)’에 대한 제안이 최근 수락 됨.

각 case 명령문 다음에는 매칭할 패턴이 위치한다. 위 예제는 간단한 문자열을 매칭 대상으로 사용하고 있지만, 더 복잡한 매칭도 가능하다.
파이썬은 맨위부터 맨아래까지 case 목록을 조사해 매칭을 수행한다.
case 사이에 ‘fall-through’가 없지만, 하나의 case 블록에서 여러 가능한 case를 처리하는 자신만의 논리를 만들 수 있다

패턴 매칭을 효과적으로 사용하기 위해서는 사전 조회의 대체재로만 사용하지 않는 것이 아주 중요하다.
매칭하고자 하는 부분의 구조를 설명해야 한다. 이 경우, 매칭하려는 요소의 수나 조합을 토대로 매칭을 수행할 수 있다.
예제 - 사용자는 명령을 입력하면서, 그 다음에 선택적으로 파일 이름을 입력

case “a”
case [“a”, “b”]
case [“a”, value1]
case [“a”, *values]
case (“a”|“b”|“c”)
case (“a”|“b”|“c”) as letter
case [“a”, value] if <expression>
case [“z”,_]
