파이썬 완전 초보 탈출 11강에 오신 걸 환영합니다!
이제 여러분은 파이썬의 거의 모든 핵심 문법을 익혔습니다. 하지만 코드를 실행하다 보면 항상 **예상치 못한 오류**가 발생할 수 있어요. 사용자의 실수일 수도 있고, 데이터 문제일 수도 있죠.
이번 강의에서는 그런 오류 상황에서 프로그램이 멈추지 않도록 도와주는 **예외 처리 (Exception Handling)** 와 오류를 추적하고 해결하는 **디버깅(Debugging)** 기술을 배워보겠습니다.
🚨 예외(Exception)란?
프로그래밍에서 예외는 코드 실행 중 발생하는 **예기치 않은 상황**입니다.
예를 들어:
“`python
x = int(input(“숫자를 입력하세요: “))
print(10 / x)
“`
여기서 사용자가 0을 입력하면 ZeroDivisionError가 발생해 프로그램이 멈춰버립니다.
💡 예외가 발생하면 프로그램은 즉시 멈추고, 이후 코드는 실행되지 않습니다.
✅ 예외 처리 기본 구조 (try – except)
“`python
try:
실행할 코드
except 예외타입:
예외 발생 시 실행할 코드
“`
예제:
“`python
try:
x = int(input(“숫자를 입력하세요: “))
print(10 / x)
except ZeroDivisionError:
print(“0으로 나눌 수 없습니다!”)
“`
💡 여러 개의 예외를 처리할 수도 있어요:
“`python
try:
num = int(input(“숫자 입력: “))
result = 10 / num
print(“결과:”, result)
except ZeroDivisionError:
print(“0으로 나눌 수 없어요”)
except ValueError:
print(“숫자가 아닌 값을 입력하셨습니다”)
“`
🛠 모든 예외를 포괄적으로 처리
“`python
try:
실행 코드
except Exception as e:
print(“오류 발생:”, e)
“`
이 방식은 어떤 예외든 잡아서 메시지를 출력해줍니다.
✨ else와 finally
– `else`: 예외 없이 실행되었을 때만 실행
– `finally`: 예외 여부와 관계없이 무조건 실행
“`python
try:
print(“계산 시작”)
x = 10 / 2
except:
print(“오류 발생”)
else:
print(“정상 실행”)
finally:
print(“계산 종료”)
“`
🔍 디버깅(Debugging)이란?
디버깅은 코드에 있는 **문제(버그)를 찾고 고치는 과정**입니다.
초보일수록 꼭 익혀야 하는 중요한 습관이에요.
✅ print() 활용
가장 기본적인 방법은 `print()`를 이용해 변수 상태를 확인하는 것!
“`python
def add(a, b):
print(“a:”, a, “b:”, b)
return a + b
“`
✅ traceback 메시지 읽기
오류 발생 시 파이썬이 보여주는 메시지를 잘 읽으면, 어느 줄에서 오류가 발생했는지 알 수 있어요.
✅ IDE 디버깅 도구 활용 (예: VSCode, PyCharm)
– 중단점(Breakpoint) 설정
– 변수 값 실시간 확인
– step over / step into 사용
✍️ 실습: 나눗셈 계산기 (예외 처리 포함)
“`python
def divide(a, b):
try:
result = a / b
return result
except ZeroDivisionError:
return “0으로 나눌 수 없습니다”
x = int(input(“숫자1: “))
y = int(input(“숫자2: “))
print(“결과:”, divide(x, y))
“`
📌 오늘의 요약
– 예외는 코드 실행 중 발생할 수 있는 오류 상황
– try-except 구문으로 예외를 안전하게 처리 가능
– print()와 IDE 도구를 활용한 디버깅은 필수 습관
– 예외 처리는 안정적인 프로그램의 필수 요소!
📚 다음 강의 예고
12강: 클래스(Class) – 객체지향 프로그래밍의 시작
이제 여러분은 함수도, 파일도, 예외도 다룰 줄 아는 멋진 초보 개발자입니다. 다음 강의에서는 드디어 객체와 클래스를 다뤄보며 **객체지향 프로그래밍(OOP)** 에 입문하게 됩니다!
—
이 강의는 파이썬 완전 초보자를 위한 연재 시리즈입니다. 매주 새로운 강의로 업데이트됩니다.