프로그래밍 입문을 결심했다면 이 책으로 시작하자!
고등학교 선생님이 학생들을 대상으로 수업한 경험을 토대로 집필된 이 책은 컴퓨터 환경별 설치를 시작으로 핵심을 짚어 가며 파이썬을 빠르고 쉽게 설명한다. 이 책은 단순히 따라 하는 설명만 있는 게 아니라 연습문제를 풀며 생각할 시간을 요구하기도 한다. 빠르게 읽고 그럴 듯한 프로젝트를 완성한 다음, 다시 코드를 보았을 때 이해를 돕기 위해 코드를 읽기 쉽게 작성하는 법도 모든 장에서 설명하고 있다.
스스로 생각하고 오류를 수정하는 방법을 알려준다
이 책에서 무엇보다 중요한 것은 스스로 실수를 찾고 오류를 수정하는 프로그래밍 방법이다. 처음 프로그래밍을 접한다면 이 책으로 학습하길 권한다. 단순히 개념을 익히는 데 그치지 않고 매 챕터 중간중간 연습문제를 통해 끊임없이 고민하고 복습하게 하는 구성을 따라 하다 보면 어느새 프로그래머처럼 사고할 수 있을 것이다.
아울러 실전 프로젝트까지 다루고 있어 파이썬으로 할 수 있는 거의 모든 것을 다뤄볼 수 있다. 단, 2부부터는 난이도가 높아져 더 많이 생각해야 한다.
이 책의 내용
1부 : 파이썬의 기본 개념
2부 : 게임 프로젝트
3부 : 데이터 시각화 프로젝트
4부 : 웹 애플리케이션 프로젝트
PART I 기본편
CHAPTER 1 드디어 시작 !
__ 1.1 프로그래밍 환경 설정
__ 1.2 파이썬과 운영체제
__ 1.3 설치 문제 해결
__ 1.4 터미널에서 파이썬 프로그램 실행
__ 1.5 1장에서 배운 내용
CHAPTER 2 변수와 단순한 데이터 타입
__ 2.1 hello_world.py를 실행했을 때 정말로 일어나는 일
__ 2.2 변수
__ 2.3 문자열
__ 2.4 숫자
__ 2.5 주석
__ 2.6 파이썬의 선(禪)
__ 2.7 2장에서 배운 내용
CHAPTER 3 리스트 소개
__ 3.1 리스트란?
__ 3.2 항목 변경, 추가, 제거
__ 3.3 리스트 정리하기
__ 3.4 인덱스 에러 피하기
__ 3.5 3장에서 배운 내용
CHAPTER 4 리스트 다루기
__ 4.1 전체 리스트에 대해 루프 실행하기
__ 4.2 들여쓰기 에러 피하기
__ 4.3 숫자 리스트 만들기
__ 4.4 리스트 일부분 다루기
__ 4.5 튜플
__ 4.6 코드 스타일
__ 4.7 4장에서 배운 내용
CHAPTER 5 if 문
__ 5.1 간단한 예제
__ 5.2 조건 테스트
__ 5.3 if 문
__ 5.4 리스트에서 if 문 사용하기
__ 5.5 if 문 스타일
__ 5.6 5장에서 배운 내용
CHAPTER 6 딕셔너리
__ 6.1 단순한 딕셔너리
__ 6.2 딕셔너리 다루기
__ 6.3 딕셔너리에 루프 실행하기
__ 6.4 중첩
__ 6.5 6장에서 배운 내용
CHAPTER 7 사용자 입력과 while 루프
__ 7.1 input( ) 함수가 동작하는 법
__ 7.2 while 루프 소개
__ 7.3 리스트와 딕셔너리에 while 루프 사용하기
__ 7.4 7장에서 배운 내용
CHAPTER 8 함수
__ 8.1 함수 정의
__ 8.2 매개변수 전달
__ 8.3 반환값
__ 8.4 리스트 전달
__ 8.5 매개변수를 임의의 숫자만큼 전달하기
__ 8.6 함수를 모듈에 저장
__ 8.7 함수 스타일
__ 8.8 8장에서 배운 내용
CHAPTER 9 클래스
__ 9.1 클래스 만들고 사용하기
__ 9.2 클래스와 인스턴스 다루기
__ 9.3 상속
__ 9.4 클래스 임포트
__ 9.5 파이썬 표준 라이브러리
__ 9.6 클래스 스타일
__ 9.7 9장에서 배운 내용
CHAPTER 10 파일과 예외
__ 10.1 파일에서 읽기
__ 10.2 파일에 쓰기
__ 10.3 예외
__ 10.4 데이터 저장
__ 10.5 10장에서 배운 내용
CHAPTER 11 코드 테스트
__ 11.1 함수 테스트
__ 11.2 클래스 테스트
__ 11.3 11장에서 배운 내용
PART II 외계인 침공 게임 프로젝트
CHAPTER 12 총을 쏘는 우주선
__ 12.1 프로젝트 계획하기
__ 12.2 파이게임 설치하기
__ 12.3 게임 프로젝트 시작하기
__ 12.4 우주선 이미지 추가하기
__ 12.5 game_functions 모듈 리팩토링하기
__ 12.6 우주선 조종하기
__ 12.7 중간 정리
__ 12.8 탄환 발사하기
__ 12.9 12장에서 배운 내용
CHAPTER 13 외계인!
__ 13.1 프로젝트 리뷰하기
__ 13.2 첫 번째 외계인 만들기
__ 13.3 외계인 함대 만들기
__ 13.4 함대 움직이기
__ 13.5 외계인 격추하기
__ 13.6 게임 끝내기
__ 13.7 게임의 어느 부분을 실행해야 하는지 알아내기
__ 13.8 13장에서 배운 내용
CHAPTER 14 점수
__ 14.1 플레이 버튼 만들기
__ 14.2 레벨 올리기
__ 14.3 점수
__ 14.4 14장에서 배운 내용
PART III 데이터 시각화 프로젝트
CHAPTER 15 데이터 만들기
__ 15.1 맷플롯 설치하기
__ 15.2 단순한 그래프 그리기
__ 15.3 랜덤 워크
__ 15.4 파이갤로 주사위 굴리기
__ 15.5 15장에서 배운 내용
CHAPTER 16 데이터 내려받기
__ 16.1 CSV 파일 형식
__ 16.2 전 세계 데이터를 지도로 만들기: JSON 형식
__ 16.3 16장에서 배운 내용
CHAPTER 17 API 다루기
__ 17.1 웹 API 사용하기
__ 17.2 파이갤을 사용해 저장소 시각화하기
__ 17.3 해커 뉴스 API
__ 17.4 17장에서 배운 내용
PART IV 웹 애플리케이션 프로젝트
CHAPTER 18 장고 시작하기
__ 18.1 프로젝트 설정
__ 18.2 앱 시작
__ 18.3 페이지 만들기: 학습 로그 홈페이지
__ 18.4 다른 페이지 만들기
__ 18.5 18장에서 배운 내용
CHAPTER 19 사용자 계정
__ 19.1 사용자가 데이터를 입력할 수 있게 만들기
__ 19.2 사용자 계정 만들기
__ 19.3 사용자별 데이터 구분해서 사용하기
__ 19.4 19장에서 배운 내용
CHAPTER 20 앱에 스타일을 적용하고 배포하기
__ 20.1 학습 로그에 스타일 적용하기
__ 20.2 학습 로그 배포하기
__ 20.3 20장에서 배운 내용
PART V 끝으로
APPENDIX A 파이썬 설치하기
__ A.1 파이썬과 윈도우
__ A.2 파이썬과 리눅스
__ A.3 파이썬과 macOS
__ A.4 파이썬 키워드와 내장된 함수
APPENDIX B 텍스트 에디터
__ B.1 지니
__ B.2 서브라임 텍스트
__ B.3 IDLE
__ B.4 이맥스와 빔
APPENDIX C 문제를 해결하는 방법
__ C.1 질문하기
__ C.2 온라인에서 검색하기
APPENDIX D 깃으로 버전 컨트롤 사용하기
__ D.1 깃 설치하기
__ D.2 프로젝트 만들기
__ D.3 무시할 파일 지정하기
__ D.4 저장소 초기화하기
__ D.5 상태 체크하기
__ D.6 파일을 저장소에 추가하기
__ D.7 커밋하기
__ D.8 로그 확인하기
__ D.9 두 번째 커밋해보기
__ D.10 바뀐 내용 취소하기
__ D.11 이전 커밋 체크아웃하기
__ D.12 저장소 삭제하기
추천사
거의 모든 사람을 위한 입문서
책을 감수할 깜냥이 되기엔 부족하지만, 다른 독자님들보다 먼저 책을 읽고 감수했습니다. 이 책을 읽으면서 초등학교, 고등학교 시절의 제 모습을 떠올려봅니다. 베이식과 C를 배웠는데 쉬운 책은 보기 좋았으나 그것이 전부였으며, 어려운 책은 따라 하기조차 쉽지 않았습니다.
이런 기억을 더듬어 보면 요즘의 프로그래밍 입문 환경은 정말 많이 개선되었습니다. 일단 파이썬과 같은 초보자들이 접근하기 쉬우면서도 실용적인 언어가 등장했고, 이를 뒷받침하는 컴퓨팅 환경과 오픈소스 세상이 열렸습니다. 그리고 빼어난 번역의 질로 입문자도 쉽게 배울 수 있는 책이 많이 출간되었습니다. 그런 책과 경쟁해야 하는 책이 또 한 권 세상에 나왔습니다.
처음 원고를 보고 ‘초보자 책이 이렇게 두꺼워도 되는 걸까?’라는 의문이 들었지만 책의 후반부를 읽으면서 왜 두꺼워야 했는지를 알게 되었습니다. 책의 전반부는 처음 파이썬을 접하는 이들에게 매우 친절한 길잡이 역할을 하며, 후반부는 전반부를 읽은 이들에게 파이썬 언어로 할 수 있는 진짜 일을 알려주는 길잡이 역할을 합니다. 즉, 이 책은 파이썬으로 탐사적 데이터 분석을 하고자 하는 사람들, 파이썬으로 간단한 UI 앱 또는 간단한 서버 애플리케이션을 만들고자 하는 사람들을 위한 입문서입니다. 그리고 이러한 이유로 파이썬을 처음 접하거나 프로그래밍을 처음 시작하는 분들을 위한 배려가 돋보이는 한선용 역자의 친절한 번역이 함께합니다. 마치 제다이들의 정의로움에 포스가 함께하듯이 말입니다.
이 책을 읽는 분들에게는 우선 1부를 천천히 읽고 따라 해본 다음, 2, 3, 4부는 관심이 가는 부분을 골라서 이어 읽기를 권합니다. 물론 나머지 부분들도 개발의 관점에서의 사고의 지평을 넓혀가는 데 도움이 될 것입니다.
박상은_ <9가지 사례로 익히는 고급 스파크 분석> 역자
박상현
Hello Coding 그림으로 개념을 이해하는 알고리즘
아디트야 바르가바