PYTHON SERIES · 46

완전 초보에서 실무까지, 파이썬 한 번에.

기초 10주, 중급 10주, 고급 10주, 그리고 난이도별 실습 프로젝트 16개. 자신의 수준에 맞는 트랙부터 시작해 단계적으로 진행할 수 있습니다. 프로그래밍이 처음이라면 기초 1주차부터, 다른 언어 경험이 있다면 중급 트랙부터 시작해도 무방하며, 마무리는 콘솔 프로젝트 16개로 실전 감각을 굳히도록 설계했습니다.

원본 GitHub 저장소 ↗
🌱

기초 (Basic)

10주 · 완전 초보부터 함수까지

🌱
WEEK 01

1주차 — 파이썬 시작하기

인터프리터 · 환경 설치 · REPL · 주석

파이썬이 어떤 언어인지 살펴보고, 내 컴퓨터에 Python 3.10+ 와 VS Code를 설치한 뒤 첫 print를 띄워봅니다. REPL과 스크립트 모드의 차이도 익힙니다.

설치REPLVS Code
🌱
WEEK 02

2주차 — 변수와 자료형

변수 · int/float/str/bool · 형 변환 · type()

변수에 값을 담고, int·float·str·bool 4가지 기본 자료형을 다루고, type() 으로 타입을 확인하고, int()/float()/str() 로 형 변환합니다. None 의 의미도 익힙니다.

변수자료형형 변환
🌱
WEEK 03

3주차 — 연산자와 입출력

산술/비교/논리 · input · print · f-string

산술·비교·논리 연산자, input() 으로 사용자 입력 받기, print() 와 f-string 으로 보기 좋게 출력하기, 그리고 입력받은 문자열을 숫자로 변환해 계산하는 패턴을 익힙니다.

연산자inputprint
🌱
WEEK 04

4주차 — 조건문

if / elif / else · 들여쓰기 · 삼항 · Truthy/Falsy

조건에 따라 다른 코드를 실행시키는 if/elif/else, 들여쓰기 규칙(4칸 공백), 중첩 조건문, 삼항 표현식, 그리고 진리값(Truthy/Falsy) 개념을 익힙니다.

조건문if/elif/else들여쓰기
🌱
WEEK 05

5주차 — 반복문

for · range · while · break · continue · 중첩

for + range() 로 정해진 횟수, while 로 조건이 참인 동안, break/continue 로 흐름 제어, 그리고 중첩 반복문으로 구구단·별 찍기 같은 2차원 패턴을 출력합니다.

forwhilerange
🌱
WEEK 06

6주차 — 리스트와 튜플

리스트 · 슬라이싱 · 메서드 · 튜플 · 언패킹

여러 값을 순서대로 담는 리스트와 변경 불가능한 튜플, 슬라이싱 [start:stop:step], 자주 쓰는 메서드(append/pop/sort), 그리고 튜플 언패킹을 익힙니다.

listtupleslicing
🌱
WEEK 07

7주차 — 딕셔너리와 집합

dict · key/value · get/items · set · 합/교/차

키로 값을 빠르게 찾는 딕셔너리, 자주 쓰는 메서드(get, items, in), 중복 없는 집합과 합/교/차/대칭차 연산, 그리고 자료구조 선택 기준을 익힙니다.

dictsetkey-value
🌱
WEEK 08

8주차 — 문자열 다루기

메서드 · split/join · f-string 심화 · 이스케이프

문자열 인덱싱/슬라이싱, 자주 쓰는 메서드(split/join/strip/replace), f-string 심화(정렬·자릿수·진법), 이스케이프 문자(\n \t)를 익힙니다.

stringsplitjoin
🌱
WEEK 09

9주차 — 함수 기초

def · return · 기본값 · 키워드 인수 · 스코프

def 로 함수를 정의하고 호출, 매개변수와 인수의 차이, 기본값/키워드 인수, return으로 값 반환, 그리고 지역/전역 변수의 스코프를 익힙니다.

함수defreturn
🌱
WEEK 10

10주차 — 기초 종합 실습

1~9주차 통합 · 프로젝트 설계 · 디버깅

지금까지 배운 입력·조건·반복·자료구조·함수를 자연스럽게 조합해 작은 프로그램을 완성합니다. To-Do List, 단어장 퀴즈, 가계부, 숫자 야구 중 하나를 골라 만들어보세요.

종합실습프로젝트디버깅
⚙️

중급 (Intermediate)

10주 · 함수 심화부터 OOP·정규식까지

⚙️
WEEK 01

1주차 — 함수 심화

*args/**kwargs · lambda · 고차함수 · 클로저

가변 인자(*args, **kwargs), 한 줄 람다, map/filter/sorted with key 같은 고차함수, 그리고 함수 안의 함수가 외부 변수를 기억하는 클로저까지 함수의 표현력을 한 단계 끌어올립니다.

*argslambdahigher-order
⚙️
WEEK 02

2주차 — 컴프리헨션과 제너레이터

list/dict/set comp · yield · 메모리 효율

리스트·딕셔너리·집합 컴프리헨션으로 한 줄에 변환·필터·매핑을 처리하고, yield로 만드는 제너레이터로 메모리 효율적인 코드를 짭니다.

comprehensiongeneratoryield
⚙️
WEEK 03

3주차 — 모듈과 패키지

import · __name__ · __init__.py · pip

자체 모듈 만들고 import, __name__ == "__main__" 패턴, 폴더를 패키지로 만드는 __init__.py, 그리고 pip 으로 외부 패키지 설치까지 익힙니다.

modulepackageimport
⚙️
WEEK 04

4주차 — 표준 라이브러리

datetime · random · pathlib · collections

추가 설치 없이 import만으로 쓸 수 있는 4가지 핵심 표준 모듈 — 날짜·시간(datetime), 무작위(random), 경로(pathlib), Counter/defaultdict(collections).

datetimerandompathlib
⚙️
WEEK 05

5주차 — 예외 처리

try/except/else/finally · raise · 사용자 정의 예외

try/except의 4개 절(try·except·else·finally), 여러 예외 분기 처리, raise로 의도적 발생, Exception 상속으로 사용자 정의 예외, 예외 체인을 익힙니다.

exceptiontryraise
⚙️
WEEK 06

6주차 — 파일 입출력 (텍스트·CSV·JSON)

with open · csv · json · encoding utf-8

with open 으로 안전하게 텍스트 파일 읽고 쓰기, csv 모듈로 표 형식 데이터 처리, json 으로 구조화 데이터 직렬화·역직렬화를 익힙니다.

filecsvjson
⚙️
WEEK 07

7주차 — 객체지향 (1) — 클래스와 인스턴스

class · __init__ · self · 캡슐화

데이터(속성)와 동작(메서드)을 묶는 클래스 정의, __init__ 생성자와 self의 의미, 인스턴스 변수 vs 클래스 변수, 그리고 _var/__var 캡슐화 관례.

classOOPself
⚙️
WEEK 08

8주차 — 객체지향 (2) — 상속·다형성·매직 메서드

extends · super · __str__ · __eq__ · classmethod

부모 클래스의 속성·메서드를 물려받는 상속, super() 호출, 다형성, __str__/__eq__/__add__ 같은 매직 메서드 오버라이딩, classmethod와 staticmethod까지.

inheritancesupermagic
⚙️
WEEK 09

9주차 — 정규표현식

re · 메타문자 · 그룹 · sub · compile

re 모듈로 패턴 매칭, 자주 쓰는 메타문자(\d \w \s + * ?), 그룹 캡처(이름 그룹 포함), 치환(sub), raw string, compile 활용까지.

regexrepattern
⚙️
WEEK 10

10주차 — 중급 종합 실습

OOP + JSON + 모듈 분리 + 패키지 구조

OOP·예외·파일 I/O를 모두 사용한 미니 프로젝트 (단어장/가계부/로그 분석/연락처) 중 하나를 모듈 분리된 패키지 구조로 완성합니다.

프로젝트패키지OOP
🚀

고급 (Advanced)

10주 · 타입·동시성·테스트·패키징

🚀
WEEK 01

1주차 — 타입 힌트와 dataclass

정적 타입 · typing · dataclass · frozen

타입 힌트 문법, typing 모듈(Optional/Union/Callable), 그리고 보일러플레이트를 줄여주는 @dataclass 와 frozen 옵션까지 — 견고한 코드의 출발점입니다.

typingdataclassmypy
🚀
WEEK 02

2주차 — 데코레이터와 컨텍스트 매니저

@deco · functools.wraps · with · contextmanager

함수 데코레이터, 인자 받는 데코레이터, 클래스/함수 기반 컨텍스트 매니저까지 — 횡단 관심사를 깔끔히 분리하는 두 도구를 익힙니다.

decoratorwrapswith
🚀
WEEK 03

3주차 — 이터레이터·제너레이터 심화

프로토콜 · yield from · itertools · 코루틴

for 루프 뒤에 숨은 __iter__/__next__ 프로토콜, yield from 위임, itertools 의 강력한 함수들, 그리고 코루틴 기초까지 다룹니다.

iteratorgeneratoritertools
🚀
WEEK 04

4주차 — 동시성 (1) 스레딩과 멀티프로세싱

GIL · ThreadPoolExecutor · ProcessPoolExecutor · Lock

I/O 바운드 작업은 ThreadPoolExecutor 로, CPU 바운드는 ProcessPoolExecutor 로 — GIL 의 의미와 동시성 도구의 선택 기준을 익힙니다.

threadingmultiprocessingGIL
🚀
WEEK 05

5주차 — 동시성 (2) asyncio

async/await · gather · Queue · timeout

async/await 문법, asyncio.gather 로 동시 실행, Queue 기반 producer/consumer, 그리고 wait_for 타임아웃까지 — 비동기 프로그래밍의 핵심을 익힙니다.

asyncioasync/awaitgather
🚀
WEEK 06

6주차 — 테스트 (unittest, pytest)

pytest · parametrize · fixture · mock

pytest 기본 사용법, parametrize 로 다양한 케이스, fixture 로 공통 setup, 그리고 mock 으로 외부 의존성을 격리하는 방법까지 다룹니다.

pytestfixtureparametrize
🚀
WEEK 07

7주차 — 웹 스크래핑

requests · BeautifulSoup · session · robots.txt

requests 로 HTTP 요청, BeautifulSoup 로 HTML 파싱, 세션·쿠키 관리, 그리고 robots.txt 와 매너까지 — 윤리적 스크래핑의 기본을 익힙니다.

requestsBeautifulSoupscraping
🚀
WEEK 08

8주차 — NumPy / Pandas 입문

ndarray · DataFrame · groupby · CSV

NumPy 배열 연산과 인덱싱, Pandas DataFrame 의 필터·정렬·groupby, 그리고 CSV 읽고 분석하기까지 — 데이터 처리의 두 거인을 만납니다.

numpypandasDataFrame
🚀
WEEK 09

9주차 — 패키징과 배포

venv · pyproject.toml · console_scripts · TestPyPI

가상환경, pyproject.toml 의 구조, console_scripts 로 CLI 도구 제공, 그리고 TestPyPI 업로드까지 — 자체 패키지를 만들어 배포하는 전체 흐름.

venvpyproject.tomlbuild
🚀
WEEK 10

10주차 — 고급 종합 실습

타입 + 비동기 + 외부 라이브러리 + 테스트 + 배포

비동기·외부 라이브러리·테스트·배포를 통합한 실전 프로젝트. 패키지 구조 + CI 적용까지 포함합니다.

capstoneasyncpytest
🛠

실습 프로젝트 (Practice)

16개 · 난이도별 콘솔 프로젝트 (★ ~ ★★★★)

Lv1 · 기초 응용 (★)

Lv2 · 자료구조 응용 (★★)

Lv3 · 중급 종합 (★★★)

Lv4 · 고급 응용 (★★★★)