[Python] 구문 오류(Syntax Error) vs. 의미 오류(Semantic Error)

해당 포스트에서는 Python(파이썬)에서 발생 가능한 오류의 큰 범주인 구문 오류(Syntax Error)와 의미 오류(Semantic Error)에 대해 설명합니다.

python-syntax-error-semantic-error

1. 구문 오류 (Syntax Error)

유효하지 않은 파이썬 코드를 입력했을 발생하는 오류로, 코드 실행 자체가 되지 않기에 바로 확인 가능한 직관적인 에러입니다.
사용하는 IDE(Visual Studio, Pycharm 등)에서 문법 교정 옵션이 활성화되어 있다면 쉽게 해결할 수 있습니다.

e.g. 미완성된 코드 실행, 할당문의 문법적 오류 등

python-syntax-error-semantic-error
▲ 구문 오류 예시 : 미완성된 코드 실행

python-syntax-error-semantic-error
▲ 구문 오류 예시 : 미완성된 코드 수정안 제공

2. 의미 오류 (Semantic Error)

파이썬이 할 수 없는 명령을 내렸을 때 발생하는 오류로, 수(number)를 0으로 나눈다든지, 존재하지 않는 변수를 사용하는 등의 케이스가 있습니다.
구문 오류(Syntax Error)보다는 해결을 위한 노력이 필요한 편이지만, 일부 IDE(Visual Studio, Pycharm 등)에서 오류를 찾아주거나 수정된 코드를 제안해 주기도 합니다.

e.g. 미정의된 변수 사용, 논리적 계산이 불가능한 실행 등

python-syntax-error-semantic-error
▲ 의미 오류 예시 : 잘못된 나눗셈 (0으로 나누기)

python-syntax-error-semantic-error
▲ 의미 오류 예시 : 정의되지 않은 변수 사용

관련 링크

[1] [길벗] 파이썬 프로그래밍 교과서