Topic 1: 에러 메시지 읽기 🔍
🎯 학습 목표
이번 토픽에서는 파이썬이 보내는 에러 메시지를 읽고 이해하는 방법을 배워요!
- 에러 메시지의 구조 이해하기
- 자주 만나는 에러 종류 알아보기
- 에러 메시지로 문제 찾기
🚨 에러는 무서운 게 아니에요!
프로그래밍을 하다 보면 빨간색 에러 메시지를 자주 만나게 돼요. 처음에는 무서워 보이지만, 사실 에러 메시지는 파이썬이 우리를 도와주려고 보내는 친절한 편지예요!
에러 메시지의 구조
# 일부러 에러를 만들어 봐요
print(안녕하세요)
이 코드를 실행하면 이런 에러가 나타나요:
Traceback (most recent call last):
File "example.py", line 1, in <module>
print(안녕하세요)
NameError: name '안녕하세요' is not defined
에러 메시지는 세 부분으로 나뉘어요:
- Traceback: 에러가 어디서 발생했는지 추적 경로
- File과 line: 정확한 파일명과 줄 번호
- 에러 종류와 설명: 무슨 문제인지 알려주는 메시지
🎭 자주 만나는 에러 친구들
1. NameError - 이름을 모르겠어요!
# 변수를 정의하지 않고 사용했을 때
print(message) # NameError: name 'message' is not defined
# 해결 방법
message = "안녕하세요"
print(message) # 정상 작동!
2. SyntaxError - 문법이 틀렸어요!
# 괄호를 닫지 않았을 때
print("안녕하세요" # SyntaxError: unexpected EOF while parsing
# 해결 방법
print("안녕하세요") # 괄호를 닫아주세요
3. TypeError - 타입이 맞지 않아요!
# 숫자와 문자를 더하려고 할 때
age = 20
print("나이는 " + age + "살입니다") # TypeError
# 해결 방법
print("나이는 " + str(age) + "살입니다") # str()로 변환!
4. IndexError - 범위를 벗어났어요!
# 리스트 범위를 벗어난 인덱스 접근
fruits = ["사과", "바나나", "딸기"]
print(fruits[3]) # IndexError: list index out of range
# 해결 방법
print(fruits[2]) # 인덱스는 0부터 시작해요
🔍 에러 메시지 읽는 꿀팁
1. 맨 아래 줄부터 읽기
에러 메시지의 맨 아래 줄에 가장 중요한 정보가 있어요!
# 예시 에러
result = 10 / 0
Traceback (most recent call last):
File "example.py", line 1, in <module>
result = 10 / 0
ZeroDivisionError: division by zero # ← 여기가 핵심!
2. 줄 번호 확인하기
line 숫자
부분을 보면 어느 줄에서 에러가 났는지 알 수 있어요.
3. 에러 이름으로 검색하기
NameError
, TypeError
같은 에러 이름을 검색하면 해결 방법을 찾을 수 있어요!
💡 퀴즈: 에러 메시지 이해도 체크
Q1. 다음 코드의 에러는 무엇일까요?
name = "철수"
print("안녕, " + Name)
정답: NameError가 발생해요!
name
은 소문자로 정의했는데Name
은 대문자로 사용했어요- 파이썬은 대소문자를 구분해요
Q2. 이 에러 메시지가 의미하는 것은?
TypeError: can only concatenate str (not "int") to str
정답: 문자열과 숫자를 더하려고 했을 때 나타나는 에러예요!
- 문자열끼리만
+
로 연결할 수 있어요 - 숫자를 문자열로 변환해야 해요:
str(숫자)
✅ 에러 메시지 읽기 마스터 체크리스트
✅ 에러 메시지 읽기 마스터 체크리스트
🚀 다음 단계
에러 메시지를 읽을 수 있게 되었나요? 이제 try-except
를 사용해서 에러를 우아하게 처리하는 방법을 배워볼게요!
Last updated on