값의 구조에 따라 분기하는 match 문을 배웁니다.
match는 단순 값뿐 아니라 리스트와 딕셔너리의 구조를 패턴으로 분해해 분기합니다. 위에서부터 첫 패턴 하나가 실행되며 case _는 어떤 패턴에도 맞지 않은 기본 경우입니다.
예제에서 match value: case pattern: ... 부분부터 찾으세요. 값을 만드는 표현식과 그 값을 다음 문장으로 넘기는 흐름을 한 줄씩 따라가면 실행 결과를 스스로 설명할 수 있습니다.
case에서 |는 여러 패턴 중 하나를 뜻하고 if guard를 붙여 추가 조건을 검사할 수 있습니다. 변수 이름 패턴은 값을 비교하는 대신 새 이름으로 캡처합니다.
명령, 이벤트, 파싱 결과처럼 형태가 제한된 데이터를 처리할 때 유용하며 공개 입력은 match 전에 기본 검증도 수행합니다.
이 코드는 브라우저의 실제 Python에서 실행됩니다. 먼저 현재 결과를 확인한 뒤 delete 명령과 알 수 없는 명령을 추가해보세요.
case name은 문자열 'name' 비교가 아니라 모든 값을 name에 담는 캡처 패턴이므로 뒤 case를 가릴 수 있습니다.
직접 바꿔보세요delete 명령과 알 수 없는 명령을 추가해보세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.