Python 실전 가이드
Python 기초부터 웹 개발, 데이터 분석, 자동화까지
🐍 Python 기초
Python 시작하기 - 환경 설정부터 기본 문법까지
-
Python 환경 설정 | Windows/Mac에서 Python 설치하고 시작하기
Windows·Mac·Linux에서 Python을 설치하고 pip와 requirements.txt, Poetry로 의존성을 관리하며, venv 가상환경 워크플로, VS Code·PyCharm 인터프리터 설정, src·tests 프로젝트 구조까지 개발 환경을 구성합니다.
-
Python 기본 문법: 변수·연산자·조건문·반복문과 CPython이 코드를 실행하는 방식
Python 변수와 언패킹, 타입 힌트, 산술·비교·멤버십 연산자, if-elif와 Truthy·Falsy, for·while과 루프 else절, 들여쓰기 규칙을 익히고 CPython이 이 코드를 바이트코드와 스택 머신으로 실행하는 과정을 살펴봅니다.
-
Python 자료형: 리스트·딕셔너리·튜플·세트 사용법과 CPython 내부 구조, 성능 차이
Python 내장 자료형 정리. 리스트, 딕셔너리, 튜플, 세트의 사용법과 선택 기준, 성능 비교, CPython에서 list와 dict의 메모리 구조, 자주 하는 실수와 고급 활용 패턴을 다룹니다.
-
Python 함수: 매개변수, 반환값, 람다, 데코레이터
위치·키워드·기본값 인자와 *args, **kwargs 규칙부터 람다, nonlocal을 쓰는 클로저, 데코레이터 작성까지 Python 함수를 예제로 익힙니다. 마지막에는 클로저가 cell 객체로 값을 붙잡는 방식과 @ 문법이 실제로 풀리는 모습을 CPython 관점에서 봅니다.
-
Python 클래스: 객체지향 프로그래밍(OOP) 기초와 특수 메서드
self와 __init__, 클래스 변수와 인스턴스 변수의 차이에서 시작해 상속과 super(), @property 캡슐화, __str__·__len__·__call__ 같은 특수 메서드, @classmethod와 @staticmethod, 추상 클래스까지 Python 객체지향을 예제로 짚습니다.
-
Python 모듈과 패키지: import, pip, 가상환경
import 네 가지 방식의 차이, __name__ == "__main__" 동작, 모듈 검색 경로와 상대·절대 import, __init__.py로 패키지 만들기를 설명합니다. pip와 requirements.txt, venv 가상환경으로 프로젝트별 의존성을 분리하는 방법까지 다룹니다.
-
Python 파일 처리: 텍스트·CSV·JSON 읽고 쓰기
open과 with 문으로 텍스트 파일을 읽고 쓰는 기본에서 출발해 csv 모듈의 reader·DictWriter, json.load와 json.dump, pathlib 경로 처리를 예제로 보여줍니다. 로그 파일 분석과 설정 파일 관리 스크립트로 실제 쓰임새까지 연결합니다.
-
Python 예외 처리: try-except, raise, 커스텀 예외
try-except의 기본과 else·finally가 각각 언제 실행되는지, raise로 예외를 던지고 다시 올리는 방법, Exception을 상속한 커스텀 예외 설계를 코드로 설명합니다. 안전한 파일 처리와 재시도 로직 예제로 실제 적용 방식도 보여줍니다.
-
Python 컴프리헨션: 리스트·딕셔너리·세트 컴프리헨션과 가독성 기준
리스트·딕셔너리·세트 컴프리헨션의 문법과 필터링, if-else 변환, 중첩 루프 순서를 예제로 익히고, 대용량 데이터에서 제너레이터 표현식으로 메모리를 아끼는 방법을 비교합니다. CSV 파싱과 API 응답 처리 같은 실전 예제도 담았습니다.
-
Python 데코레이터: 동작 원리, functools.wraps, 인자 있는 데코레이터
함수를 감싸는 기본 데코레이터에서 시작해 인자를 받는 데코레이터 팩토리, 캐싱·인증·재시도 데코레이터, 클래스 데코레이터를 차례로 만들어 봅니다. functools.wraps로 이름과 docstring을 보존하는 방법과 여러 데코레이터의 적용 순서도 설명합니다.
🌐 웹 개발
Flask/Django로 웹 애플리케이션 만들기
-
Flask 기초 | Python 웹 프레임워크 시작하기
pip로 Flask를 설치하고 Hello World를 띄운 뒤 라우팅과 HTTP 메서드, Jinja2 템플릿, 폼 데이터 처리, jsonify를 쓴 REST API, 세션과 쿠키까지 차례로 구현합니다. 마지막에는 간단한 블로그 API를 만들어 앞의 기능을 묶어 봅니다.
-
Django 기초 | Python 풀스택 웹 프레임워크 시작하기
startproject로 프로젝트를 만들고 모델 정의와 마이그레이션, 함수형·클래스형 뷰, URL 패턴, 템플릿, Admin 등록을 거쳐 간단한 블로그를 완성합니다. select_related로 N+1 쿼리를 줄이는 법과 DRF API, 배포 전 체크리스트도 담았습니다.
-
Python REST API | Flask/Django로 API 서버 만들기
Python으로 REST API를 만드는 방법. RESTful 설계 원칙, Flask CRUD API, Django REST Framework의 시리얼라이저·ViewSet·라우팅, JWT 인증과 권한, 에러 응답 처리까지 예제로 정리합니다.
-
Python 데이터베이스: SQLite, PostgreSQL 연결과 ORM
sqlite3로 테이블을 만들고 SQL을 실행하는 기본에서 출발해 SQLAlchemy ORM 모델 정의, CRUD, 일대다 relationship 설정, Flask와 SQLAlchemy를 묶은 API 예제까지 다룹니다. 트랜잭션과 연결 해제, N+1 쿼리 문제도 짚습니다.
-
Python 웹 앱 배포: Heroku, AWS, Docker
Python 웹 앱을 서버에 올리기 전에 requirements.txt, .env 환경 변수, Gunicorn 설정을 다지고, Docker·docker-compose, Heroku Procfile, EC2와 Nginx 리버스 프록시 배포 절차를 순서대로 따라갑니다.
📊 데이터 분석
Pandas, NumPy로 데이터 다루기
-
Pandas 기초: DataFrame 만들기, 선택·필터링·집계
Series와 DataFrame 생성, CSV·Excel 입출력, info와 describe로 데이터 훑기, loc·iloc 선택과 조건 필터링, groupby 집계, merge와 concat 병합을 예제로 익힙니다. 판매 데이터 분석 예제로 전체 흐름을 한 번 더 따라갑니다.
-
NumPy 기초: 배열 연산, 브로드캐스팅, 벡터화
ndarray 생성과 벡터화 연산, 브로드캐스팅 규칙, 불린 인덱싱, reshape, 통계 함수와 행렬 연산을 예제로 설명합니다. 이미지 배열 처리와 정규화된 배치 벡터 연산 예제로 Python 리스트 루프 대신 배열 연산을 쓰는 방식을 익힙니다.
-
Matplotlib 기초: Python 데이터 시각화 그래프 그리기
plt.plot 선 그래프에서 시작해 막대·가로 막대 그래프, 히스토그램, 산점도, subplots로 여러 그래프 배치까지 예제로 그려 봅니다. 판매 데이터 시각화와 회귀선이 있는 산점도·잔차 플롯 예제, 스타일과 폰트를 한 번에 맞추는 설정도 담았습니다.
-
Python 데이터 전처리: 결측치, 이상치, 정규화
pandas로 하는 데이터 전처리. 결측치 확인과 처리, IQR·Z-Score 이상치 처리, Min-Max 정규화와 표준화, 범주형 데이터 인코딩까지 모델 학습 전에 필요한 단계를 예제로 정리합니다.
-
Python 실전 데이터 분석 | Pandas로 데이터 분석하기
Pandas로 CSV를 불러와 기본 탐색을 하고, 분포와 상관관계를 보는 EDA, groupby 그룹 집계, resample과 rolling을 쓴 시계열 분석, 고객 분석 예제와 이상치 플래그 요약까지 실제 분석 순서대로 진행합니다.
🤖 자동화 & 스크립팅
반복 작업 자동화하기
-
Python 파일 자동화 | 파일 정리, 이름 변경, 백업 자동화
glob과 pathlib로 확장자·수정 시간 조건에 맞는 파일을 찾고, 일괄 이름 변경과 순번 붙이기, 확장자별 폴더 정리, 자동 백업과 오래된 백업 삭제, 해시로 중복 파일 찾기를 Python 스크립트로 구현합니다.
-
Python 웹 스크래핑: BeautifulSoup와 Selenium
requests로 HTML을 가져오고 BeautifulSoup로 태그를 파싱해 뉴스 목록을 수집한 뒤, JavaScript로 그려지는 페이지는 Selenium으로 다룹니다. 상품 가격 모니터링 예제, CSV 저장, 요청 간격과 robots.txt 같은 스크래핑 에티켓도 설명합니다.
-
Python 작업 스케줄링: schedule·APScheduler·cron으로 자동화하기
schedule 라이브러리로 매일·매주 작업을 예약하는 방법, 크론 표현식과 여러 트리거를 지원하는 APScheduler, Windows 작업 스케줄러와 Linux cron 등록을 비교합니다. 자동 백업, 주기적 스크래핑, 이메일 리포트 발송 예제도 담았습니다.