이 책의 도착점
프로그래밍이 처음인 독자가 Python 3의 기본 문법을 배워, 원 단위 지출을 CSV에 저장하고 다시 조회하는 명령행 도구를 만듭니다. 외부 패키지 없이 Python 3.11 이상 공통 문법으로 구성했습니다.
목차와 학습 순서
1부 — 실행과 값
01 — 설치부터 첫 실행까지, 출발점을 하나로 정하자 파이썬 대화형 모드와 파일 실행을 구분하고 첫 프로그램을 실행합니다. 02 — 변수와 자료형, 값에 이름을 붙이는 방법 대입과 기본 자료형을 이해하고 변수의 값을 바꿉니다. 03 — 사칙연산과 나머지, 계산 결과를 예측하자 나눗셈 종류와 연산 순서를 구분하고 금액을 계산합니다. 04 — 입력과 출력, 사람과 대화하는 프로그램 input의 문자열을 숫자로 바꾸고 f-string으로 출력합니다.
2부 — 문자열과 실행 흐름
05 — 문자열, 필요한 글자만 꺼내고 정리하기 인덱스·슬라이스·문자열 메서드로 입력 문자를 정리합니다. 06 — 조건문, 상황에 따라 다른 일을 하기 비교·논리 연산과 if 문으로 입력값을 판정합니다. 07 — for 반복문, 같은 일을 여러 값에 적용하기 for와 range로 합계와 건수를 계산합니다. 08 — while과 중단 조건, 끝나는 반복을 만들자 while·break·continue를 사용해 입력을 반복합니다.
3부 — 자료를 묶고 고르기
09 — 리스트, 여러 값을 담고 고치기 리스트의 추가·수정·삭제와 순회를 이해합니다. 10 — 딕셔너리, 값에 항목 이름을 붙이기 키와 값으로 한 건의 자료를 표현하고 여러 건을 순회합니다. 11 — 튜플과 집합, 자료구조를 고르는 기준 튜플의 묶음과 집합의 중복 제거를 구분합니다. 12 — 필터링과 정렬, 보고 싶은 자료만 고르기 리스트 컴프리헨션과 key 함수를 사용합니다.
4부 — 함수를 나누고 오류 다루기
13 — 함수, 반복되는 처리에 이름 붙이기 매개변수와 return으로 계산과 출력을 분리합니다. 14 — 변수의 범위와 복사, 값이 왜 같이 바뀔까 지역변수·가변 객체·얕은 복사·기본값 함정을 이해합니다. 15 — 모듈과 표준 라이브러리, 파일을 나누어 쓰기 import와 main 진입점으로 재사용 가능한 파일을 만듭니다. 16 — 예외 처리, 잘못 입력해도 다시 묻기 ValueError를 좁게 처리하고 검증 실패를 구분합니다.
5부 — 자료를 파일로 남기기
17 — 파일과 경로, 프로그램을 꺼도 기록을 남기기 UTF-8 텍스트를 저장하고 경로 기준을 명확하게 정합니다. 18 — CSV, 엑셀과 주고받을 수 있는 표 만들기 csv 모듈로 헤더가 있는 표를 저장하고 숫자로 변환합니다. 19 — JSON, 설정과 중첩된 자료 저장하기 JSON과 파이썬 자료형의 대응을 이해하고 한글을 저장합니다. 20 — 날짜와 정규식, 형식과 실제 값을 검사하기 날짜 검증·월 필터링·간단한 패턴 검사를 수행합니다.
6부 — 구조와 완성 프로젝트
21 — 클래스, 자료와 동작을 함께 묶기 인스턴스·self·메서드로 같은 규칙을 가진 객체를 만듭니다. 22 — 가상환경·테스트·로그, 다시 실행할 준비하기 실행 환경을 분리하고 계산 결과와 실행 상태를 확인합니다. 23 — 종합 실습 1, 입력하고 조회하는 지출 기록기 기초 문법을 결합해 메모리에서 동작하는 프로그램을 완성합니다. 24 — 종합 실습 2, CSV 저장과 명령행 실행까지 완성하기 검증·저장·조회·월별 합계·테스트를 갖춘 도구를 완성합니다.
학습 방법
한 편을 읽고 코드를 입력한 다음, 값을 바꾸어 결과를 예측합니다. 마지막 연습문제를 해설을 보지 않고 풀어 봅니다. 막히면 바로 이전 편의 예제로 돌아갑니다. 각 편의 목표를 직접 수행할 수 있으면 다음 편으로 넘어갑니다.
주 2편이면 12주, 주 3편이면 8주 분량의 연재입니다. 학습 속도와 게시 속도는 달라도 됩니다. 4편마다 실행해 본 예제와 경계값을 다시 확인하는 시간을 두세요.
함수 전까지 상속이나 언어 구현 세부로 넘어가지 않습니다. 클래스는 기본 문법과 파일 처리를 배운 뒤 선택지를 넓히는 위치에 둡니다. 웹 개발·AI·데이터 분석·비동기·데코레이터·상속 심화는 후속 연재로 분리합니다.
COMMENTS
댓글 0
이 글에 대한 의견이나 질문을 남겨 주세요.
등록된 댓글이 없습니다.