개발/AI&Chatbot

⛔️ [SyntaxError] 개념, 예시, 해결방법

honeypeach 2025. 10. 15. 17:23

⛔️ SyntaxError란?

- 문법적인 에러를 뜻한다.

# 🧩 SyntaxError란?

`SyntaxError`는 **파이썬이 문법적으로 틀린 코드를 발견했을 때 발생하는 오류**를 뜻함.  
즉, 파이썬이 “이 문장은 이해할 수 없다”고 판단했을 때 나타나는 에러임.

---

## 🔍 문법(Syntax)의 뜻

문법은 파이썬이 명령을 이해하는 규칙을 뜻함.  
사람의 언어에도 문법이 있듯, 파이썬도 명령을 이해하기 위한 형식이 정해져 있음.  
이 규칙을 어기면 `SyntaxError`가 발생함.

---

## ⚠️ SyntaxError가 발생하는 대표적인 경우

### 1. 괄호가 닫히지 않았을 때
```python
print("안녕"
# 닫는 괄호 ) 가 없음.

에러 메시지:

SyntaxError: unexpected EOF while parsing

✅ 해결. 괄호를 정확히 짝지음.


2. 콜론(:)을 빼먹었을 때

if True
    print("참이야")
# if 문 뒤에는 항상 콜론이 필요함.

⛔️ 에러 메시지:

SyntaxError: expected ':'

 해결. if True: 로 수정함.


3. 들여쓰기가 잘못되었을 때

if True:
print("참이야")
# print가 if 안에 있으므로 들여쓰기가 필요함.

⛔️ 에러 메시지:

IndentationError: expected an indented block

 해결. 들여쓰기(보통 4칸)를 맞춤.


4. 예약어(Keyword)를 변수 이름으로 사용할 때

class = "마법사"  
# class는 파이썬이 이미 사용하는 예약어임.

⛔️ 에러 메시지:

SyntaxError: invalid syntax

 해결. 변수 이름을 cls 또는 job 등으로 변경함.


5. 따옴표가 짝이 맞지 않을 때

print("안녕') 
# " " 또는 ' ' 중 하나로 통일해야 함.


⛔️ 에러 메시지:

SyntaxError: EOL while scanning string literal

 해결. "안녕" 또는 '안녕'으로 수정함.


🧠 SyntaxError 해결 방법 요약

문제 원인해결

괄호나 따옴표 짝이 안 맞음 짝을 정확히 맞춤
콜론(:) 누락 제어문 뒤에는 콜론 추가
들여쓰기 오류 같은 블록 안에서는 들여쓰기 통일
예약어 사용 변수 이름 변경
오타 코드 철자 점검

💡 정리

SyntaxError는 파이썬이 문법적으로 틀린 부분을 발견했을 때 알려주는 에러임.
문법을 정확히 지키면 대부분 해결 가능함.
즉, SyntaxError는 “파이썬이 내 코드를 이해하지 못했다”는 신호임.

728x90