파이썬 독학 방법: 초보자를 위한 단계별 학습 계획
파이썬은 순서대로 배우는 것이 가장 빠릅니다. 설치와 첫 스크립트, 변수와 자료형, 조건문과 반복문, 컬렉션, 함수, 예외와 모듈, 파일, 그다음 클래스와 비동기 순서입니다. 매 단계를 과제와 하나의 프로젝트로 익히고, 주 5–7시간씩 공부하면 기초는 2–3개월이면 충분합니다.
파이썬은 순서대로 배우면 생각보다 쉽습니다. 설치와 첫 스크립트, 그다음 자료형, 조건문과 반복문, 컬렉션, 함수, 예외, 모듈과 파일을 거쳐, 마지막으로 클래스와 비동기를 배우면 됩니다. 이 글에서는 단계별 학습 계획, 각 단계에서 할 일, 초보자에게 적합한 과제와 프로젝트, 그리고 중간에 멈추지 않는 방법을 정리했습니다.
파이썬이 좋은 첫 언어인 이유
파이썬은 문법이 짧고 읽기 쉽습니다. 블록은 중괄호가 아니라 들여쓰기로 구분하며, 세 줄짜리 프로그램으로도 실제로 유용한 일을 할 수 있습니다. 웹 백엔드, 업무 자동화, 데이터 분석, 머신러닝, DevOps 스크립트까지 파이썬으로 하며, 여기서 익힌 기초는 어떤 분야로 가든 그대로 쓰입니다.
시작하는 데 필요한 것은 Windows, macOS 또는 Linux 컴퓨터와 터미널을 여는 기본 능력뿐입니다. 프로그래밍 경험은 필요 없고, 처음 몇 주 동안은 고등학교 수준을 넘는 수학도 거의 나오지 않습니다.
또 하나의 장점은 커뮤니티가 매우 크다는 점입니다. 초보자가 겪는 거의 모든 오류에 대한 답이 이미 있고, 엑셀 표 읽기부터 이메일 보내기까지 대부분의 작업에는 이미 만들어진 라이브러리가 있습니다. 그래서 몇 주만 공부해도 실생활에서 시간을 아껴 주는 프로그램을 쓸 수 있습니다.
어떤 버전을 배울까
최신 버전의 Python 3, 지금은 3.15를 배우세요. 많은 책과 오래된 강의는 3.8–3.10을 기준으로 쓰였고, 새 버전에서는 필요 없어진 우회 방법을 가르치기도 합니다. Python 3.10은 2026년 10월부터 보안 수정도 받지 않으며, 새 버전은 매년 10월에 나옵니다.
언어의 기본 문법은 버전 사이에 거의 바뀌지 않으므로 고전적인 파이썬 입문서도 여전히 쓸모가 있습니다. 다만 책의 예제가 유난히 길어 보인다면, 최신 버전에는 이미 내장된 기능이 있을 가능성이 있다는 점을 기억하세요.
단계별 파이썬 학습 계획
| 단계 | 배울 내용 | 대략적인 기간 |
|---|---|---|
| 1. 시작 | 설치, REPL, 스크립트 실행, print, input | 1–2일 |
| 2. 기초 | 변수, 숫자, 문자열, f-문자열, if, for, while | 1–2주 |
| 3. 컬렉션 | 리스트, 튜플, 딕셔너리, 집합, 컴프리헨션 | 1–2주 |
| 4. 함수 | 매개변수, return, 변수의 범위, 타입 힌트 | 1주 |
| 5. 예외와 모듈 | 트레이스백, try/except, import, 표준 라이브러리, 패키지 | 1–2주 |
| 6. 파일과 데이터 | with open, CSV, JSON, pathlib | 1주 |
| 7. 객체 지향 | 클래스, 메서드, 상속, dataclasses | 1–2주 |
| 8. 다음 단계 | 비동기, 테스트, 프로파일링, 방향 선택 | 상황에 따라 |
기간은 주당 5–7시간을 기준으로 잡았습니다. 속도보다 꾸준함이 중요합니다. 매일 30분씩 공부하는 편이 주말에 5시간 몰아서 하는 것보다 효과가 큽니다.
1단계. 설치와 첫 스크립트
python.org 또는 uv로 최신 파이썬을 설치하고, python3 --version(Windows에서는 python --version)으로 버전을 확인하세요. 인터랙티브 콘솔도 써 보세요. 인자 없이 python3을 실행하고 >>> 프롬프트에 식을 입력해 보는 것입니다.
그다음 hello.py 파일을 만들어 실행하세요. 이 단계의 목표는 실험용 콘솔과 위에서 아래로 실행되는 스크립트의 차이를 이해하는 것입니다.
name = input("이름이 무엇인가요? ")
print(f"안녕하세요, {name}님!")
2단계. 파이썬 기초: 문법, 자료형, 조건문과 반복문
이 단계가 바탕입니다. int, float, str, bool 같은 기본 자료형을 익히고, 파이썬의 변수가 객체에 붙은 이름이라는 점을 이해하세요. f-문자열로 출력을 꾸미고, 값을 비교하고, 분기를 만드는 방법도 익히세요.
amount = 1250
if amount > 1000:
print("큰 지출")
elif amount > 100:
print("보통 지출")
else:
print("소액 지출")
for i in range(1, 4):
print(i, i ** 2)
초보자에게 파이썬 문법의 가장 큰 특징은 들여쓰기입니다. if, 반복문, 함수의 본문은 4칸 들여씁니다. 들여쓰기 실수는 처음 며칠 동안 가장 흔한 오류입니다(IndentationError).
연습 과제
- 나이를 입력받아 성인인지 알려주는 프로그램을 만드세요.
- 입력한 숫자의 구구단을 출력하세요.
while과random모듈로 '숫자 맞히기' 게임을 만드세요. '더 큽니다/더 작습니다' 힌트를 주면 됩니다.
3단계. 컬렉션: 리스트, 딕셔너리, 집합
실제 프로그램은 거의 모두 데이터 묶음을 다룹니다. 리스트는 순서가 있는 항목을, 딕셔너리는 '키-값' 쌍을, 집합은 중복 없는 값을, 튜플은 바꿀 수 없는 순서열을 저장합니다. 컴프리헨션은 리스트나 딕셔너리를 짧게 만드는 문법입니다.
expenses = [("커피", 250), ("택시", 600), ("커피", 180)]
totals = {}
for item, amount in expenses:
totals[item] = totals.get(item, 0) + amount
print(totals) # {'커피': 430, '택시': 600}
big = [a for _, a in expenses if a > 200]
print(big) # [250, 600]
Python 3.15에는 컬렉션과 관련된 새 도구도 들어왔습니다. 변경할 수 없는 딕셔너리 frozendict(PEP 814)는 설정값을 실수로 바꾸지 않도록 보호하고, 컴프리헨션 안에서 별표 언패킹을 쓸 수 있게 되었습니다(PEP 798). 초보자는 먼저 고전적인 리스트와 딕셔너리를 확실히 익히는 것이 좋습니다.
4단계. 함수
함수는 코드 조각에 이름을 붙여 도구로 만드는 방법입니다. def로 함수를 정의하고, 인자(위치 인자, 키워드 인자, 기본값)를 전달하고, 결과를 return으로 돌려주고, 타입 힌트로 자료형을 표시하는 법을 익히세요.
def total(expenses: list[tuple[str, int]], min_amount: int = 0) -> int:
return sum(a for _, a in expenses if a >= min_amount)
print(total([("커피", 250), ("빵", 60)], min_amount=100)) # 250
좋은 원칙은 이렇습니다. 같은 코드가 두 번 나오면 함수로 빼세요.
5단계. 예외, 모듈, 패키지
트레이스백은 아래에서 위로 읽습니다. 마지막 줄이 무슨 일이 일어났는지를, 그 위의 줄이 어디서 일어났는지를 알려 줍니다. 최근 파이썬은 'Did you mean'처럼 해결을 돕는 힌트도 보여 주므로, 빨간 글씨를 보고 놀라기보다 차분히 읽으세요. 예외 처리는 try/except로 하되, 구체적인 오류 타입을 지정하세요.
try:
amount = int(input("금액: "))
except ValueError:
print("숫자를 입력해 주세요")
다음은 모듈과 import입니다. 코드를 여러 파일로 나누는 방법, 표준 라이브러리(math, random, datetime, pathlib, json, csv)에 무엇이 있는지, 그리고 pip나 uv로 외부 패키지를 가상 환경에 설치하는 방법을 배우세요. Python 3.15에는 지연 임포트(PEP 810)도 들어왔습니다. 모듈을 처음 사용할 때에만 불러오므로 프로그램 시작이 빨라집니다.
6단계. 파일 다루기
데이터를 읽고 저장하는 프로그램은 이미 실용적입니다. with open(...), csv와 json 모듈, pathlib로 경로를 다루는 방법을 익히세요.
import csv
with open("expenses.csv", encoding="utf-8") as f:
rows = list(csv.DictReader(f))
print(sum(int(r["amount"]) for r in rows))
encoding="utf-8"은 항상 명시하세요. 그래야 모든 시스템에서 같은 방식으로 동작합니다. Python 3.15에서는 UTF-8이 기본 인코딩이 되었지만(PEP 686), 예전 버전에서 실행할 가능성이 있다면 명시하는 편이 안전합니다.
7단계. 클래스와 객체 지향
클래스는 데이터와 동작을 한데 묶습니다. class, __init__, 메서드, 속성, 상속, __str__ 같은 매직 메서드를 익히세요. 필드만 있는 단순한 '기록'을 표현할 때는 dataclasses가 반복 코드를 줄여 줍니다.
from dataclasses import dataclass
@dataclass
class Expense:
item: str
amount: int
e = Expense("커피", 250)
print(e) # Expense(item='커피', amount=250)
8단계. 다음 단계: 비동기, 프로파일링, 방향 선택
기초를 익힌 뒤에는 비동기(async/await, asyncio 모듈)를 알아 두세요. 네트워크 요청과 봇에 필요합니다. 느린 부분을 찾는 프로파일링도 배워 두면 좋습니다. Python 3.15에는 내장 프로파일러 Tachyon(PEP 799)이 들어왔습니다. 동시에 테스트(pytest)와 Git도 익히세요.
그다음 방향을 고르세요. 웹(Django, Flask, FastAPI), 데이터 분석(pandas, Jupyter), 업무 자동화와 스크립트, 봇, 머신러닝 중에서 선택하면 됩니다. 언어의 기초가 확실하면 프레임워크도 훨씬 빨리 배워집니다.
초보자를 위한 파이썬 개인 프로젝트
교재의 연습 문제는 문법을 익히는 데 좋지만, 프로그래밍 실력은 함께 자라는 나만의 프로젝트에서 가장 빨리 늡니다. 좋은 방법은 프로젝트 하나를 정해 두고, 새 주제를 배울 때마다 기능 하나씩 더하는 것입니다.
- 지출 관리기 — 처음에는 지출 한 건을 출력하고, 나중에는 카테고리별 합계를 계산하고, CSV를 읽고, 보고서를 저장하고, 환율을 가져오도록 확장합니다.
- 파일 정리기 — 사진 파일을 날짜별로 이름 바꾸기, '다운로드' 폴더 정리하기.
- 텔레그램 봇 — 알림이나 할 일 목록 봇.
- 파서 — 웹 페이지에서 데이터를 모아 표로 저장하기.
- 콘솔 게임 — 행맨, 틱택토, 퀴즈.
파이썬 학습에서 흔히 하는 실수
- 강의만 보기. 영상과 독학서만 보면 일주일 뒤에 대부분 잊습니다. 모든 주제를 직접 타이핑해 보세요.
- 오래된 자료로 공부하기.
print "x"같은 예제는 Python 2 문법이며 이미 지원이 끝났습니다. - 바로 프레임워크로 뛰어들기. 함수와 클래스를 모른 채 Django를 쓰면 남의 코드를 베끼기만 하게 됩니다.
- 오류를 두려워하기. 트레이스백은 선고가 아니라 힌트입니다. 마지막 줄부터 읽으세요.
- 엉뚱한 파이썬 실행하기. 한 컴퓨터에 여러 버전이 있을 수 있습니다.
python3 --version으로 확인하세요.
효율적으로 배우는 방법: 독학서, 강의, 과정
세 가지 형식 모두 좋고, 중요한 것은 실습과 함께하는 것입니다. 독학서는 체계와 깊이를, 동영상 강의는 직관적인 이해를, 과정은 정해진 로드맵과 피드백을 줍니다. 가장 흔한 실패 패턴은 에디터를 열지 않은 채 읽고 보기만 하는 것입니다.
- 코드는 직접 치세요. 예제를 복사하지 말고 손으로 입력하면서 바꿔 보세요. 조건을 바꾸거나 줄을 지우면 어떻게 되는지 확인하세요.
- 매일 문제를 푸세요. 하루 작은 실습 다섯 개가 주말의 긴 이론 공부보다 낫습니다.
- 치트시트를 만드세요. 찾아본 명령과 문법, 예를 들어 문자열, 리스트, 딕셔너리 메서드, 슬라이스 문법, f-문자열 서식을 적어 두세요.
- 소리 내어 설명하세요. 반복문이나 딕셔너리의 동작을 자기 말로 설명할 수 있다면 그 주제는 이해한 것입니다.
- 남의 코드를 읽으세요. 표준 라이브러리와 작은 오픈소스 프로젝트에는 숙련자가 파이썬을 어떻게 쓰는지가 담겨 있습니다.
30분 넘게 같은 문제에 막혔다면 질문을 글로 정리해 보세요. 무엇을 얻고 싶었는지, 무엇을 했는지, 어떤 오류가 보이는지를 적으면 답이 떠오르는 경우가 많습니다. 그래도 풀리지 않으면 강사나 커뮤니티에 물어보세요.
정리
파이썬을 처음부터 배우는 계획은 간단합니다. 설치와 첫 스크립트, 문법 기초, 컬렉션, 함수, 예외와 모듈, 파일, 클래스를 순서대로 배우고, 프레임워크는 맨 마지막에 배우세요. 각 단계를 과제와 하나의 프로젝트로 다지고 꾸준히 공부하면 기초는 2–3개월이면 충분합니다. 이 로드맵은 '파이썬 3.15: 초보부터 전문가까지' 과정에서 12개 강의로 따라가며, 지출 관리기를 프로젝트로 만들고 경험자를 위한 '새로운 기능' 블록을 함께 다룹니다.
자주 묻는 질문
파이썬을 무료로 독학할 수 있나요?
네. python.org의 공식 문서와 튜토리얼은 무료이고, 연습 문제는 온라인 실습 사이트에서 풀 수 있습니다. 중요한 것은 꾸준한 실습과 나만의 프로젝트입니다.
파이썬을 처음부터 배우는 데 시간이 얼마나 걸리나요?
주 5–7시간씩 공부하면 기초는 2–3개월이면 익힐 수 있습니다. 실제 업무에 쓸 수 있는 수준은 보통 프로젝트를 함께 하면서 반년 정도 걸립니다.
파이썬을 배우려면 수학이 필요한가요?
기초, 자동화, 웹 개발에는 중학교와 고등학교 수준의 산수면 충분합니다. 본격적인 수학은 데이터 분석과 머신러닝에서 필요합니다.
첫 언어로 파이썬과 다른 언어 중 무엇을 골라야 하나요?
간단한 문법과 넓은 활용 분야 때문에 대부분의 초보자에게 파이썬이 좋은 선택입니다. 파이썬으로 익힌 개념은 다른 언어에도 그대로 옮겨 갈 수 있습니다.
초보자에게 어떤 코드 편집기가 좋나요?
처음에는 파이썬에 포함된 IDLE로 충분합니다. 그다음에는 파이썬 확장을 설치한 VS Code나 PyCharm Community를 추천합니다.