728x90
SyntaxError: invalid syntax in match-case
오류는 파이썬 3.10부터 도입된 match-case
문법을 잘못 사용했을 때 발생합니다. match-case
는 구조적 패턴 매칭을 위한 구문으로, 문법이 엄격하며 특정한 키워드 및 들여쓰기 규칙을 지켜야 합니다. 문법이 조금만 틀려도 SyntaxError
가 발생할 수 있습니다.
이 오류는 match
또는 case
키워드의 위치가 잘못되었거나, 콜론(:
)이 누락되었거나, 패턴이 잘못 기술되었을 때 자주 발생합니다. 또한 파이썬 3.9 이하 버전에서 match-case
문법을 사용하려고 하면 무조건 문법 오류가 발생합니다.
● 오류 발생 예시
match value
case 1:
print("1입니다.")
위 코드는 match
문에 콜론(:
)이 누락되었기 때문에 오류가 발생합니다.
SyntaxError: invalid syntax
● 올바른 코드 예시
match value:
case 1:
print("1입니다.")
case _:
print("기타 값")
이 코드는 문법적으로 올바른 match-case
구조이며, 값에 따라 다른 분기 처리가 가능합니다.
● 자주 하는 실수
- 파이썬 3.9 이하 버전에서
match-case
사용 match
또는case
다음에 콜론 누락- 패턴이 잘못되었거나 잘못된 식별자를 사용한 경우
- 들여쓰기 불일치 또는 블록 생략
● 디버깅 팁
- 파이썬 버전이 3.10 이상인지 확인
- 모든
match
,case
문에 콜론을 붙였는지 점검 - 패턴 매칭에 사용하는 값이 유효한 리터럴 또는 구조인지 확인
● 결론
match-case
문법은 매우 유용하지만, 도입된 지 오래되지 않아 문법 실수가 자주 발생합니다. 이 오류는 대부분 문법 요소(콜론, 들여쓰기, 키워드 등)의 실수로 발생하므로, 예제 문법을 참고해 정확한 구조를 따르는 것이 중요합니다. 또한 해당 문법은 파이썬 3.10 이상에서만 지원되므로, 버전 호환성도 반드시 확인해야 합니다.
728x90
'프로그래밍언어 > 파이썬[Error]' 카테고리의 다른 글
[파이썬][Error] 018. NameError - name 'pritn' is not defined (0) | 2025.05.26 |
---|---|
[파이썬][Error] 017. NameError - name 'x' is not defined (0) | 2025.05.26 |
[파이썬][Error] 015. IndentationError - expected an indented block (0) | 2025.05.26 |
[파이썬][Error] 014. SyntaxError - no binding for nonlocal 'x' found (0) | 2025.05.26 |
[파이썬][Error] 013. TypeError - __enter__ returned non-context-manager (0) | 2025.05.26 |