메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

나의 첫 파이썬(2판)

전 세계가 선택한 프로젝트 기반 프로그래밍 입문서

한빛미디어

번역서

판매중

  • 저자 : 에릭 마테스
  • 번역 : 한선용
  • 출간 : 2020-07-01
  • 페이지 : 648 쪽
  • ISBN : 9791162243060
  • 물류코드 :10306
  • 초급 초중급 중급 중고급 고급
4.8점 (14명)
좋아요 : 17





전 세계 50만 부 판매된 베스트셀링 파이썬 입문서의 개정판 

 

많고 많은 파이썬 입문서 중에서도 세계적으로 독자에게 검증받은 책을 만나보자. 절묘하게 난이도를 조절하여 독자가 흥미를 잃지 않고 프로그래밍 개념과 기법을 익히게 해준다. 전반부에서는 프로그래밍 기본 개념을 살펴보고, 연습 문제를 풀며 좋은 코드 작성법을 익힌다. 후반부에서는 ‘갤러그’류 게임, 데이터 시각화, 웹 애플리케이션 프로젝트에 도전한다. 파이썬을 익혀서 실제로 어떤 프로그램을 만들 수 있는지 눈과 손으로 확실하게 배울 수 있다. 이번 2판에서는 파이썬 3.x 버전으로 책 전체를 업데이트하고 모범 사례를 추가했다. 

 

 

출판사 리뷰

 

파이썬 배우기, 처음이 중요해요. 침착하고 이 책을 읽으세요. 

전 세계 독자를 파이썬과 프로그래밍의 길로 인도한 베스트셀러의 2판이 나왔습니다. 파이썬 3 버전을 기준으로 최신 파이썬 코드와 모범 사례를 반영했습니다. 속도감 있게 프로그램을 만들고 문제를 풀며 파이썬에 친숙해질 수 있습니다. 

전반부에서는 변수, 리스트, 클래스, 루프 같은 프로그래밍 기본 개념을 배우고, 각 주제의 연습 문제를 풀면서 좋은 코드 짜는 법을 익힙니다. 프로그램에 상호작용을 더하고 코드를 안전하게 프로젝트에 추가할 수 있도록 테스트하는 방법도 배웁니다. 후반부에서는 이러한 지식을 응용해 ‘갤러그’ 같은 게임, 파이썬 라이브러리들을 활용한 시각화, 온라인에 배포할 수 있는 웹 앱, 총 세 가지 프로젝트를 만듭니다. 

파이썬 배우기, 처음이 중요합니다. 혼자 공부하지 말고 전 세계 독자가 선택한 책과 함께 파이썬에 입문하세요. 

 

 

주요 내용 

  • 파이게임, 맷플롯립, 플로틀리, 장고 등 강력한 파이썬 라이브러리와 도구 사용법
  • 키 입력, 마우스 클릭, 난이도 변화가 있는 2D 게임 만들기
  • 데이터를 이용해 상호작용 가능한 시각화 생성하기
  • 웹 앱을 생성하고 커스터마이징해서 온라인에 배포하기
  • 프로그래밍 실수와 오류에 대처하는 법

 

예제 코드 

http://ehmatthes.github.io/pcc_2e/

 

[카드뉴스] 나의 첫 파이썬 2판_final.png

 

에릭 마테스 저자

에릭 마테스

전업 작가이자 프로그래머. 25년 동안 고등학교에서 수학과 과학을 가르쳤고 학생들에게 필요한 수준의 파이썬 코드 역시 가르쳤습니다. 산맥 지역의 산사태 예측을 돕는 프로젝트, Django 배포 절차를 단순화하는 프로젝트 등 여러 오픈 소스 프로젝트에 참여하고 있습니다. 글을 쓰거나 프로그래밍하지 않는 여가 시간에는 등산을 하거나 가족과 시간을 보냅니다.

 

 

한선용 역자

한선용

웹 표준과 자바스크립트에 관심이 많은 번역가입니다. 2008년부터 웹과 관련된 일을 했으며, ‘WCAG 2.0을 위한 일반적 테크닉’ 등의 공개 문서를 번역해 웹에 게시했습니다. 한빛미디어에서 『파이썬 크래시 코스』(2023), 『엑셀이 편해지는 파이썬』(2022), 『파이썬으로 웹 크롤러 만들기』(2019) 등을 번역하며 활발하게 활동하고 있습니다.
 

[PART I 기초]

  

Chapter 1 시작하기

1.1 프로그래밍 환경 만들기 

1.2 다양한 운영체제와 파이썬 

1.3 Hello World! 프로그램 실행하기 

1.4 문제 해결 

1.5 터미널에서 파이썬 프로그램 실행하기 

1.6 마치며 


Chapter 2 변수와 단순한 타입

2.1 hello_world.py를 실행했을 때 일어나는 일 

2.2 변수 

2.3 문자열 

2.4 숫자 

2.5 주석 

2.6 파이썬의 선(禪) 

2.7 마치며 

 

Chapter 3 리스트 소개

3.1 리스트란? 

3.2 항목 변경, 추가, 제거 

3.3 리스트 정리하기 

3.4 인덱스 에러 피하기 

3.5 마치며 

 

Chapter 4 리스트 다루기

4.1 전체 리스트에 대해 루프 실행하기 

4.2 들여쓰기 에러 피하기 

4.3 숫자형 리스트 만들기 

4.4 리스트 일부분 다루기 

4.5 튜플 

4.6 코드 스타일 

4.7 마치며 

 

Chapter 5 if 문

5.1 간단한 예제 

5.2 조건 테스트 

5.3 if 문 

5.4 리스트에서 if 문 사용하기 

5.5 if 문 스타일 

5.6 마치며 

 

Chapter 6 딕셔너리

6.1 단순한 딕셔너리 

6.2 딕셔너리 다루기 

6.3 딕셔너리 순회하기 

6.4 중첩 

6.5 마치며 

 

Chapter 7 사용자 입력과 while 루프

7.1 input() 함수가 동작하는 법 

7.2 while 루프 소개 

7.3 리스트와 딕셔너리에 while 루프 사용하기 

7.4 마치며 

 

Chapter 8 함수

8.1 함수 정의 

8.2 매개변수 전달 

8.3 반환값 

8.4 리스트 전달 

8.5 매개변수를 임의의 숫자만큼 전달하기 

8.6 함수를 모듈에 저장 

8.7 함수 스타일 

8.8 마치며 

 

Chapter 9 클래스

9.1 클래스 만들고 사용하기 

9.2 클래스와 인스턴스 다루기 

9.3 상속 

9.4 클래스 임포트 

9.5 파이썬 표준 라이브러리 

9.6 클래스 스타일 

9.7 마치며 

 

Chapter 10 파일과 예외

10.1 파일에서 읽기 

10.2 파일에 쓰기 

10.3 예외 

10.4 데이터 저장 

10.5 마치며 

 

Chapter 11 코드 테스트

11.1 함수 테스트 

11.2 클래스 테스트 

11.3 마치며 

  

 

[PART II 프로젝트 1: 외계인 침공 게임]


Chapter 12 미사일 쏘는 우주선

12.1 프로젝트 계획하기 

12.2 파이게임 설치하기 

12.3 게임 프로젝트 시작하기 

12.4 우주선 이미지 추가하기 

12.5 리팩터링: _check_events()와 _update_screen() 메서드 

12.6 우주선 조종하기 

12.7 빠른 요약 

12.8 탄환 발사하기 

12.9 마치며 

 

Chapter 13 외계인!

13.1 프로젝트 리뷰 

13.2 첫 번째 외계인 만들기 

13.3 외계인 함대 만들기 

13.4 함대 움직이기 

13.5 외계인 격추하기 

13.6 게임 끝내기 

13.7 마치며 

 

Chapter 14 점수 매기기

14.1 플레이 버튼 추가하기 

14.2 레벨 업 

14.3 점수 기록하기 

14.4 마치며 

  

 

[PART III 프로젝트 2: 데이터 시각화]

  

Chapter 15 데이터 생성하기

15.1 맷플롯립 설치하기 

15.2 직선 그래프 만들기 

15.3 랜덤 워크 

15.4 플로틀리로 주사위 굴리기 

15.5 마치며 

  

Chapter 16 데이터 내려받기

16.1 CSV 파일 형식 

16.2 전 세계 데이터를 지도로 만들기: JSON 형식 

16.3 마치며 

 

Chapter 17 API 사용하기

17.1 웹 API 사용하기 

17.2 플로틀리를 사용해 저장소 시각화하기 

17.3 해커 뉴스 API 

17.4 마치며 

  

  

[PART IV 프로젝트 3: 웹 애플리케이션]

 

Chapter 18 장고 시작하기

18.1 프로젝트 만들기 

18.2 앱 시작하기 

18.3 학습 로그 홈페이지 만들기 

18.4 다른 페이지 만들기 

18.5 마치며 

 

Chapter 19 사용자 계정

19.1 사용자가 데이터를 입력할 수 있게 만들기 

19.2 사용자 계정 만들기 

19.3 사용자와 데이터 연결하기 

19.4 마치며 

 

Chapter 20 앱 스타일과 배포

20.1 학습 로그에 스타일 적용하기 

20.2 학습 로그 배포 

20.3 마치며 

 

Chapter 21 맺음말 

  

 

[PART V 부록] 

  

APPENDIX A 설치와 문제 해결

A.1 윈도우에 파이썬 설치하기 

A.2 macOS에 파이썬 설치하기 

A.3 리눅스에 파이썬 설치하기 

A.4 파이썬 키워드와 내장 함수 

 

APPENDIX B 텍스트 에디터와 IDE

B.1 서브라임 텍스트 세팅하기 

B.2 다른 텍스트 에디터와 IDE 

 

APPENDIX C 도움 얻기

C.1 첫 단계 

C.2 온라인 검색 

C.3 인터넷 릴레이 챗 

C.4 슬랙 

C.5 디스코드 

 

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 저장소 삭제하기 

1. 입문서로서의 기본기를 갖추다.

    '나의 첫파이썬'은 제목에서부터, 파이썬을 처음 배우는 사람들을 위한 책입니다. 언어를 배울 때 가장 기본이되는 개발 환경 설정에서 부터 각종 문법들에 대해 책 초반에 다루고 있습니다. 기초편을 보면, if, while, 함수, 리스트, 딕셔너리 클래스 파일 등등 여느 입문서에서

볼 수 있는 챕터들로 구성이 되어 있습니다. 이렇게만 있었다면, 우리가 흔히 프로그래밍 서적이라는 동물 책들이라는 느낌에서 벗어날 수 없었을 것입니다. 프로젝트 파트로 넘어가게 되면, 작은 규모의 프로젝트 예제들을 직접 실습하면서,  언어에 대한 이해를 높이고 있습니다.

 

프로젝트 1 챕터에서는 게임을 만들어 보고 있습니다. 예전 갤러그 같은 슈팅게임을 만들어 봄으로써 클래스와 이벤트에 대해서 익히고 있습니다. 그리고 프로젝트 2챕터에서는 데이터 시각화에 대해서 다루고 있습니다. 파이썬을 이용하여, 차트를 그리고 데이터를 계산, 분석, 파일로 추출하기 등에 대해 다루고 있습니다.

프로젝트 3챕터에서는 웹 프레임워크 장고에 대해서도 다루고 있습니다. 장고를 이용하여 프로젝트 생성하고 뷰와 템플릿 사용하는 방법,

Bootstrap을 이용하여 꾸미는 방법, 실제 웹 서버에 배포하는 것도 다루고 있습니다.

 

2. 장단점

 

    장점은 파이썬을 입문하는 입문자에게 간단한 문법부터 실제로 응용할 수 있는 프로젝트 예제들을 통해 파이썬을 좀더 친숙한 언어라는

느낌이 들도록 해줍니다. 책에 있는 예제를 실행하다 보면, 실무에서 써먹을 수도 있겠다 싶은 것들 위주로 흥미를 갖게되고, 토이프로젝트

부터 만들어 봐야겠다라는 생각이 들게됩니다.

 

    단점이라고 하면, 아무래도 많은 내용을 담을려고 하다보니, 깊이 있다는 느낌은 받기는 어려웠습니다. 파이썬을 어느정도 사용할 수 있는

중급자나, 언어에 대한 특징보다는 실제 실무에 활용하려고 하는 개발자들에게는 다소 가벼운 책이겠다 라는 생각이 있습니다. 단점이라기

보다는 타게팅이 명확하다라고 보면 될거 같습니다.

 

나의 첫 파이썬 한줄로 평을 하자면, '나의 첫파이썬은 입문자에게는 안성맞춤' 입니다.

 

KakaoTalk_20201020_224334001.jpg

Review

파이썬이란 언어를 기본개념부터 차근차근 알기위해 리뷰어를 통해 읽어보게되었다.
크게 1 Part ~ 5 Part로 나뉘어 진다.
1 Part를 통해서 빠르게 파이썬의 기본개념을 다시한번 정리할 수 있었다.
2 ~ 4 Part를 통해서 간단한 토이프로젝트를 만들어보면서, 1 Part에서 배운 기본 개념을 토대로 좀 더 파이썬이란 언어에 익숙해질 수 있도록 구성이 되어있었다. 책의 흐름대로 공부를 하다보면 빠르고 재미있게 학습을 이어나갈 수 있었다.
마지막 5 Part는 부록으로 실제 개발을 해나감에 있어서 필요한 프로그램들을 소개해 주었다. (Git, Slack 등)
파이썬이란 언어를 처음접하는 사람들도 문제없이 쉽게 읽을 수 있고, 책의 Part별로 진행하게되면 어느순간 파이썬에대한 흥미를 느낄 수 있는 책이라고 생각한다.

책 제목 : 나의 첫 파이썬 (2판)

저자 : 에릭 마테스

옮김 : 한선용

출판년도 : 2020.07.01




 

파이썬이 대세가 된지도 꽤 되었고 그와 더불어 무수히 많은 파이썬 교재들이

서점이 엄청나게 출시되었다.

주로 쓰는 언어가 c++, c#이긴 하지만 프로그래머라는 직업을 가지고 있다 보니

유행하는 언어나 직군이 있다면 자연스럽게 관심이 가게 된다.

그렇다 보니 파이썬 관련 책을 몇권 읽게 되었고 파이썬에 관심을 가지게 되었다.

이 책을 선택하게 된 동기도 파이썬을 기초부터 튼튼하게 다시 정립해 보고싶어서 였다.


책의 구성

책의 제목대로 이 책은 독자가 파이썬을 처음 배운다고 가정하고 파이썬으로 프로그램을 만드는 방법을 알려준다.


책의 초반에는 파이썬 프로그램을 만드는 데 필요한 기본 개념을 배운다.


다양한 데이터, 그 데이터를 저장하기 위한 리스트와 딕셔너리의 개념, 데이터 컬렉션을 만들고

그 컬렉션을 효과적으로 다루는 법, 조건식, 입력처리, 코드의 재사용 등 코딩에 대한 기본 개념을 익힌다.

 


이런 기본 개념을 익힐 때 마다 간단한 프로그램을 만들어서 사용하기 떄문에 코드를 직접 짜며

익힐 수 있고 코드를 여러가지 방식으로 테스트 할 수 있다.


책의 중반에서는 초반에서 배운 내용들을 토대로 프로젝트를 만든다.

독자의 호기심과 흥미를 유발하기 위해 갤러그 스타일 게임인 "외계인 침공"을 만든다.

이 프로젝트를 완성함으로써 스스로2차원 게임을 만들어 볼 수 있는 토대를 쌓을 수 있다.



다음으로는 데이터 시각화 프로젝트를 만든다.

요즘 파이썬을 활용한 데이터 시각화 프로젝트를 많이 접할 수 있다.

이유는 빅데이터, 딥러닝, 데이터 사이언티스트등 데이터 분석에 많은 관심이 쏟아지고 있고

시장에 도입되고 있기 때문이다.

이 프로젝트를 통해 데이터를 관리하여 시각화 하는 여러가지 프로젝트를 만들수 있는 실력을 키울 수 있다.



세번째로 "학습로그" 라는 간단한 웹 애플리케이션을 만든다.

웹에 간단한 주제나 내용을 기록할 수 있는 프로젝트다.

이 프로젝트의 유용한 점은 온라인 이라는 점에 있다.

다른사람들과 프로젝트를 공유하여 사용할 수 있다.

이 특별한 경험을 토대로 웹관련 프로젝트를 좀 더 쉽게 만들 수 있도록 한다.

부가적으로 os에 맞게 파이썬을 설치하는법,

파이썬 프로젝트를 수행할 IDE에 대한 소개, 깃과 버전관리에 대한 내용이 수록되어 있다.




 

책을 읽고나서...


파이썬이 요즘 시대에 각광받는 이유는 다른언어에 비해 직관적이고 효율적이기 때문이다.

확장하기도 쉽기 때문에 게임이나 웹 어플리케이션에도 많이 활용된다.

이 책을 읽으면서 파이썬의 기본적인 활용법과 실제 프로젝트를 만드는 방법을 익힐 수 있었다.

기초책인 만큼 파이썬의 문법에 대해 소개하는 부분이 꽤 많았고, 

후반부는 문법을 활용하여 프로젝트를 수행하는 방식이었다.

그리고 각 챕터에는 챕터에서 학습한 내용르 한번 더 고민하고 연습할 수 있는 연습문제가 

수록되어 있다.

파이썬 문법부터 차근히 공부하고 싶은 사람에게는 이 책이 좋은 시작점이 될 것 같다.


링크

-  책 소개 (한빛미디어)

-  책의 참고자료



 

나의첫파이썬.jpg

 

파이썬이라는 언어는 다른 언어에 비해 훨씬 적은 코드로 원하는 일을 할 수 있으며, 문법이 굉장히 깔끔한 편이다. 파이썬이 활용되는 분야는 굉장히 다양하여 프로그래밍을 처음 접하는 사람들에게 제일 먼저 추천해주고 싶은 언어이다. 우선 한빛미디어에서 출간된 "나의 첫 파이썬"이라는 책은 일단 무지 두꺼워서 파이썬 언어를 배우기 위한 바이블 같이 느껴진다. 

 

 

책의 목차를 살펴보면 part 1 에서는 터미널에서 파이썬 실행하는 방법부터 시작해서 변수, 리스트 등의 가장 기초적인 부분부터 if, while 까지 다루고 있었다. 이후에 part 2 에서는 외계인 침공게임 이라는 게임 프로젝트에 대한 설명과 part 3 에서는 데이터 시각화를 위한 방법들을 설명하고 있다. 머신러닝을 파이썬으로 접하려는 학생들에게 더할 나위 없는 책이다. 심지어 part 4 에서는 장고를 이용한 웹 어플리케이션 만들기 까지 설명하고 있었다. 이 책을 정독 한다면 파이썬 기본 문법 뿐만 아니라 미니 프로젝트 들을 통한 완벽이해, 그리고 데이터 시각화 및 장고를 이용한 웹 어플리케이션 만들기 까지 가능한 것이다.

그리고 마지막 부록에서는 각 OS 별 즉, 윈도우, 맥, 리눅스에서 설치하는 방법이 담겨져 있다. 그리고 파이썬을 쓰는 가장 중요한 이유를 파이썬 커뮤니티 때문이라고 독자는 설명하고 있는데, 프로그래밍은 혼자 하는 작업이 아니기 때문에 문제나 에러가 생겼을 때 커뮤니티를 통해 이미 이 문제를 해결한 다른 사람으로부터 도움을 받을 수 있다는 것이 가장 큰 장점이다. 따라서 이 책에서는 부록 C 에서 "도움 얻기"라는 부분을 수록해 놓았는데, 개인적으로 이 부록이 굉장히 인상적이었다. 

 

이 부록에는 프로그램을 배우다 보면 누구든 막힐 때가 오므로 이 때 효율적으로 해결하기 위한 방법을 제시해 두었다.  첫째는 상황을 정확히 파악하는 것이라고 한다. 뭘 하려고 했는지, 지금까지 어떤 것을 시도했었는지, 어떤 결과가 나왔는지 등 상황을 정확히 파악하는 것이다. 그 다음 "다시 해보세요" 라고 말하고 있었고, 그 다음은 "휴식을 취하세요" 라고 써있었다. 사실 이 말만 보면 감이 안올 수도 있는데 실제로 프로그래밍을 하다 보면 한 숨 자고 일어나면 해결되는 경우가 많았고, 다시 처음부터 순서대로 차근차근 해보면 해결됬었던 경험이 엄청 많다. 이 책의 필자는 자신의 경험을 그대로 부록에 수록해 두었고, 이 경험들은 모든 프로그래머가 공감할 사항인 듯 하다.

 

두번째 해결법은 온라인 검색이다. 이 온라인 검색은 정확한 에러 메세지로 검색하면 그와 관련된 스택오버플로우 답변들이 마구 나온다. 또한 공식 파이썬 문서나 공식 라이브러리 문서를 보는 것도 방법이다. 예전에는 라이브러리 문서들을 쳐다보지도 않았는데 요즘은 라이브러리 레퍼런스를 거의 정독하는 편이다. 또한 블로그 포스트를 보는 것도 방법이라고 하였다. 사실 프로그래밍을 하는 블로거들이 자신이 겪었던 문제들을 다른 사람들이 다시 겪지 않았으면 하는 마음에서 포스팅을 올리는 경우가 많고, 나 또한 그렇다. 부록에서는 슬랙 및 디스코드 라는 그룹 및 커뮤니티도 소개해주고 있었다. 읽어보면 당연한 말들을 써놓은 것 같지만, 파이썬을 처음 접하는 학생들에겐 주옥같은 글이다. 마지막 부록에서는 깃(Git) 관리하는 법까지 수록해 두었는데, 정말 갓벽한 책이다. 

 

앞쪽 문법과 관련된 부분은 나중에 천천히 접해 보기로 하고 책 중에서 가장 관심 있었던 부분인 후반 웹사이트를 만드는 부분으로 무작정 따라 하면서 진행해 보았습니다. 기본적으로 들여 쓰기에 대한 실수를 빼고는 큰 무리 없이 학습을 진행할 수 있었던 것 같습니다.

 

인스톨 성공!!!
두껍습니다..

 

한 가지 빼곤 전체적으로 따라 하면서 무난하게 진행할 수 있었던 것 같습니다. 한 가지란 Heroku에 배포하는 것과 관련된 것입니다. 배포 과정을 따라 할 때 가장 많은 에러를 접하게 되었는데 나중에 다시 도전해 봐야 할 것 같습니다.

각종 Error와의 조우

첫 번째 Error

전 우선 python3(3.8.5)을 기준으로 진행해 봤었습니다.

	// 문제가 되었던 부분$ pip install psycopg2==2.7.*// 해결책$ pip install psycopg2-binary

첫 번째로 발생했던 문제는 psycopg2의 설치부터 였습니다. 해결 방법은 psycopg2-binary를 설치하는 것이었습니다. 검색을 하다 보니 공식적(?)으로는 그리 추천하지 않는 방법이라고 하는 것 같습니다만..

두 번째 Error

어찌어찌 진행하였고 드디어 heroku에 배포를 하려고 하는데..

	// heroku에 push$ git push heroku master// 에러 발생Error while running '$ python manage.py collectstatic --noinput'.

해당 에러 발생시 DISABLE_COLLECTSTATIC=1을 실행하라는 가이드에 따라 진행하였고 다시금 push.

	$ heroku config:set DISABLE_COLLECTSTATIC=1$ git push heroku master

세 번째 Error

이번엔 또 다른 문제가 발생했었습니다.

	// push에 따른 에러Error: Multiple apps in git remotes// remote의 브런치를 확인$ git remote -v// 중복되는 브런치를 삭제$ git remote rm <branch name>

중복되는 브런치를 확인해서 브런치를 삭제해 주었습니다. 동일한 이름으로 브런치가 생성되어 있어서 결국 rm명령어로 삭제 후 heroku create로 자동 생성되었던 레파지토리도 사이트 측에서 삭제 후에 다시금 heroku create를 이용해서 새롭게 작성 후 진행했습니다.

네 번째 Error

이젠 되겠지 싶어 다시 push. 그러나 또 다른 메시지가 나오네요... 이번엔 브런치:main로 진행하라는 것이었습니다.

	$ git push heroku master// 브런치 뒤에 :main을 붙여서 진행$ git push heroku master:main

다섯 번째 Error

이젠 되겠지 했더니.. 이번에 컴파일 사이즈가 허용범위를 초과했다고 나왔습니다. 일단 배포하는 과정은 여기서 멈추기로 했습니다..

	Compiled slug size: 501.8M is too large (max is 500M).

VSCODE 플러그인

이번에 스터디를 하면서 사용한 에디터는 VSCODE였습니다. 그냥 작성할 경우 생기는 class has no object member라는 오류가 발생하는 것을 확인했습니다.

실제로 학습과정에서 이 에러로 문제가 생기진 않았습니다만. 코딩을 하다 보면 계속 신경이 쓰이는 부분이었는데 settings.json에 다음과 같은 코드를 추가시켜서 해당 문제를 해결할 수 있었습니다.

	"python.linting.pylintArgs": [    "--load-plugins=pylint_django"  ],

마무리

 

전 세계 50만 부 판매 베스트셀러의 개정판!

 

책이 두껍기도 하고 몇몇 파이썬 입문서를 본 적이 있기도 해서 어눌하지만 실전형에 가까운 웹 서비스 부분을 제일 먼저 접해 봤었습니다. 하나하나 따라 하면서 실제로 움직이는 것을 확인하는 건 역시 재미있네요.

 

 

친절한 설명들을 확인해 보세요

 

각 파일별로 해당 문장에 대한 설명을 붙여주고 있어서 인기가 있는 서적의 이유를 알 것 같았습니다.

제 작업환경이 Heroku와 궁합이 맞지 않았던 것 같은데 무료로 이용 가능한 파이썬 호스팅을 이용해서 다시 도전해 봐야 할 것 같습니다. 이번에 알게 된 무료 호스팅은 Heroku와 pythonanywhere입니다.

 

pythonanywhere.com

 

Host, run, and code Python in the cloud: PythonAnywhere

Batteries included With Python versions 2.7, 3.3, 3.4, 3.5 and 3.6, and all the goodies you normally find in a Python installation, PythonAnywhere is also preconfigured with loads of useful libraries, like NumPy, SciPy, Mechanize, BeautifulSoup, pycrypto,

www.pythonanywhere.com

heroku.com/

 

Cloud Application Platform | Heroku

Heroku is a platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud.

www.heroku.com

 

 

IT 대기업 및 유니콘 기업에 들어가기 위한 첫 관문은 코딩테스트 일 것이다. 그에따라 많은 취준생들이 코딩테스트에 혈안이 되어있고, 커뮤니티만 가봐도 알고리즘, 코딩테스트 스터디가 엄청나게 많다는 것을 알 수 있다. 프로그래밍의 언어마다 특징이 있고, 파이썬의 간결함과 라이브러리는 코딩테스트를 풀기에 수월하다는 특징이 있다. 그래서 주 언어가 파이썬이 아니지만, 단순히 코딩테스트의 목적으로 파이썬을 공부하는 이들도 적지않다. 또한 파이썬으로 REST API를 사용하기가 비교적 쉬워 2차 코딩테스트에서도 유용하게 사용할 수 있다. 

 

너무 코딩테스트의 관점으로 말했다. 파이썬은 정말 다양한 분야에서 쓰일 수 있다. 파이썬은 오래된 역사를 자랑하는 언어이고, 커뮤니티 또한 잘 형성되어 있다는 것이 입문자로 하여금 큰 장점이 된다. 파이썬이라는 언어에 조금 관심이 생겼을지 모르겠다. 

 

혹시라도 파이썬 언어에 관심이 생겼고 공부해보고 싶다면, '나의 첫 파이썬'을 추천한다. 기초적인 문법은 물론이고 간단한 프로젝트와 웹 프레임워크인 장고까지 다루고 있다. 정말 알찬구성이라 생각하여 적극적으로 추천한다. 

 

나의 첫 파이썬.jpeg

 

 

책을 읽기 전에

먼저 "나의 첫 파이썬" 이라는 책 제목을 보고 가장 먼저 든 생각은, 파이썬과 관련된 기초적인 내용을 주로 다루는 입문서적인 성격이 강할 것이라는 느낌이었습니다.

변수부터 예외처리, 테스트까지 자세한 기초 개념

예상대로 책의 초반부에는 파이썬이라는 언어에 대한 기초적인 개념들을 다루고 있었는데, 그 깊이가 생각보다 아주 깊었습니다. 단순히 변수나 조건/반복문에서 끝나는 것이 아니라, 예외 처리 방법이나 테스트 작성 방법 등 실제 프로젝트를 개발하는 데 있어 꼭 필요한 개념들도 충실하게 다루고 있습니다.

게임 제작, 데이터 시각화, 웹 개발까지 다양한 활용 예제

여기서 끝나는 것이 아니라 게임 제작, 데이터 시각화, 웹 개발까지 파이썬이라는 언어가 사용되는 다양한 분야의 활용 프로젝트를 제공하기 때문에 독자로 하여금 지루하지 않고, 책을 다 읽은 뒤 자신만의 프로젝트를 바로 만들어볼 수도 있어 굉장이 유익할 것 같습니다.

꼭 추천하고 싶은 프로그래밍 입문서

최근 어린 학생들이 프로그래밍을 시작해 보고자 하는 경우가 많은데, 자칫 어려운 개념과 코드에 파묻혀 쉽게 흥미를 잃는 경우도 종종 있는 것 같습니다. 이러한 학생들이나 프로그래밍에 입문하고자 하는 사람이 있다면 누구든지, 이 책을 적극적으로 추천해주고 싶습니다.

 

 

 최근 IT붐이 일어나면서, 학교나 회사에서 프로그래밍을 배우는 사람들이 점차 많아지고 있다. 나 또한 프로그래밍 기초를 다지기 위해 가장 핫한 프로그래밍 툴 중 하나인 파이썬을 배우기로 하였다. 그러다가 파이썬 관련 책 중에서 인기 있는 나의 첫 파이썬책을 보게 되었다.

이 책은 외국에서 출판된 책을 번역한 책인데, 원서가 정말 유명하면서도좋은 책지만, 영어를 어려워하는 나로써는 이렇게 번역본으로 볼 수 있는 게 정말 다행이었다.

다행히도 이전에 다른 프로그래밍 툴을 사용한 적이 있어서, 입문하는것이 그렇게 어렵지는 않았다. 하지만, 아예 처음 프로그래밍을하는 유저라도 이해할 수 있도록 실제 코드를 여기저기에 집어넣어 비교해 볼수 있는 것이 좋았다. 특히, 저자가 고등학교 교사라 그런지, 자칫 어려워 보일 수 있는 프로그래밍이라는것을 누구나 알 수 있도록 쉽게 알려주는 것을 확실하게 느낄 수 있었다.

목차를 보면, 가장 간단하면서도 기초가 되는 Hello world 예제부터, 기본적인 변수 및 함수 등을 소개하고있다. 이제는 익숙해진 if문이나 while문 등도 나온다.

리스트, 딕셔너리, 클래스등의 새로운 개념들 또한 책을 통해서 쉽게 배울 수 있었다.

특히, 개념들을 배운 후 책 내의 프로젝트를 통해 직접 게임을 프로그래밍해보는 것은 정말 신선한 경험이었다.

제목이 말해주듯, 이 책은 처음 프로그래밍을 배우고자 하는 사람들에게딱 맞는 책인 것 같다. 그러면서도, 막힐 때마다 책장에서꺼내보기에도 괜찮게 구성이 되어 있어 앞으로 자주 보게 될 것 같은 책이다.

 

 

나의 첫 파이썬 표지.jpg

 

나의 첫 파이썬.jpg

 

 

 

 

책 표지는.....끌리지 않았지만 목차를 보니 파이썬을 배우기에는 이 책이 나에게 매우 도움이 될 것 같았다.목차를 보면 알 수 있듯이 자세하게 설명을 해주는데 아래에 적은 것이 나한테 제일 도움 될 거라고 생각한 부분이다. 인강을 제공하고 있지 않기 때문에 책에서 정보를 얻어야만 했다.

기초> 프로그래밍 환경 만들기, 실해하기, 문제 해결, 인덱스 에러 피하지, 들여쓰기 에러 피하기 등

응용> 게임 만들기, 데이터 시각화하기, 웹 애플리케이션 만들기

부록> 상태 체크. 저장소 초기화하기 등


이 책은 2판인데 1판과 다른 점은

1장: 설치 단순화

2장: 파이썬 변수 처리 방법 자세히 설명

6장: get() 메서드 소개

16장: 날씨 프로젝트에서 신뢰할 수 있는 사이트의 데이터를 사용

부록B: 서브라임 텍스트 설정 방법 추가

 

되었다고 한다.


책은 내가 따라가기에 무리가 없을 정도로 설명을 매우 잘해주고 있다.

예를 들어, 나에게 리스트 list 는 목록일 뿐인데

-특정 순서가 있는 항목 모음

-알파벳 글자, 0-9의 숫자, 가족 이름 등 원하는 것을 리스트에 넣을 수 있음

-항목이 서로 연관될 필요 없음

-리스트는 항목이 보통 2개 이상이기 때문에 리스트 이름은 복수형으로 씀

-[]로 표현

-각 항목은 ','로 구분

과같이 6가지의 내용을 설명해 주었다.

 

내가 옷 리스트에 색 별로 항목을 적었다면

리스트 이름은 복수 형태인 clothes(단수형이 없음)가 되고 리스트 항목을 출력할 수 있다.


clothes = ['red', 'blue', 'green', 'black']

print(clothes)

['red', 'blue', 'green', 'black']


첫 번째 색의 옷을 지정하려면


clothes = ['red', 'blue', 'green', 'black']

print(clothes[0])

red


항목의 위치는 0부터 시작하기 때문인데 blue를 출력하려면

clothes = ['red', 'blue', 'green', 'black']

print(clothes[1])

라고 하면 된다.

책을 보고 해야만 응용이 되는 정도이지만

초보가 따라 하기에는 응용도 문제없다는 것이므로 프로젝트 기반 프로그래밍 파이썬 입문서로는 좋다고 생각한다.





 

파이썬을 이용해서 프로젝트를 몇 가지 진행했었는데, 그때그때 필요한 부분만 쓱 보고 적용했더니 요사이 밑천이 드러나 버렸다. 만들어 놓은 코드들을 다시 보니 이렇게나 무식(?) 할 수 없다. 뭔 말인고 하니 조금만 알면 쉽게 쓸 부분들을 무식하니까 장황하고 읽기 어렵게 작성했더라. 걔다가 코드 이해력이 부족하니 그냥 건성건성으로 코드를 보게 될 수밖에 없다. 기초적인 딕셔너리도 수박 겉핱기 식으로 아는 터라 조금만 꼬아 놓으면 이건가 저건가 하게 된다.

다시 한번 기초부터짚어봐야겠다 싶었는데 마침 좋은 책이 툭~ 하고 눈앞에 보인다. '나의 첫 파이썬'이란 파이썬 입문서인데. 읽어보니 정말 입문서 맞다. 읽기 쉽다. 프로그래밍에 처음 입문하는 사람에게 변수는 무엇인지 조건문은 뭔지 등등 자세하고 친절히 설명해 놓았다. 기존 프로그래머 입장에서 읽으면 지루한 감이 있지만 읽어보니 처음부터 뭔가 다시 짚어보는 것도 나름 좋은 공부가 되더라.

난 이 책처럼 어떤 이야기하듯이 써놓은 책을 선호한다. 간혹 프레젠테이션이나 강의 식으로 내용을 나열하는 책들이 있는데 나하고는 정말 안 맞는 스타일의 책들이지. 설명을 위해 들어가는 코드의 양도 정말 짧아서 부담 없이 자투리 시간에 읽기에 좋았다. 

인공지능이나 기타 영역에서 파이썬이 많이 쓰이는데 프로그래밍을 배우는 초보 프로그래머라면 처음 읽기에 괜찮은 책이라고 추천하고 싶다. 

 

20200817_172621.png

 

[한줄평]

프로젝트형 입문서중 가장 쉬운 참고서 입니다.


[목차구성]

[PART I 기초]

Chapter 1 시작하기

Chapter 2 변수와 단순한 타입

Chapter 3 리스트 소개

Chapter 4 리스트 다루기

Chapter 5 if 문

Chapter 6 딕셔너리

Chapter 7 사용자 입력과 while 루프

Chapter 8 함수

Chapter 9 클래스

Chapter 10 파일과 예외

Chapter 11 코드 테스트


[PART II 프로젝트 1: 외계인 침공 게임]

Chapter 12 미사일 쏘는 우주선

Chapter 13 외계인!

Chapter 14 점수 매기기


[PART III 프로젝트 2: 데이터 시각화]

Chapter 15 데이터 생성하기

Chapter 16 데이터 내려받기

Chapter 17 API 사용하기


[PART IV 프로젝트 3: 웹 애플리케이션]

Chapter 18 장고 시작하기

Chapter 19 사용자 계정

Chapter 20 앱 스타일과 배포

Chapter 21 맺음말



[PART V 부록]

APPENDIX A 설치와 문제 해결

APPENDIX B 텍스트 에디터와 IDE

APPENDIX C 도움 얻기

APPENDIX D 깃과 버전 관리


[이 책의 특징]

ㆍ 파이게임, 맷플롯립, 플로틀리, 장고 등 강력한 파이썬 라이브러리와 도구 사용법

ㆍ 키 입력, 마우스 클릭, 난이도 변화가 있는 2D 게임 만들기

ㆍ데이터를 이용해 상호작용 가능한 시각화 생성하기

ㆍ웹 앱을 생성하고 커스터마이징해서 온라인에 배포하기

ㆍ프로그래밍 실수와 오류에 대처하는 법


[대상 독자]

ㆍ파이썬 입문자

ㆍ프로젝트를 진행하며 학생들에게 프로그래밍을 가르치려는 중고등학교 교사

ㆍ대학교에서 프로그래밍을 배우는데 교재가 너무 어려워서 쉬운 입문서를 찾는 학생


[2판에서 바뀐 내용]

1장은 주요 운영체제 사용자들이 파이썬을 더 쉽게 설치할수 있도록 단순화했습니다.

2장은 파이썬이 변수를 어떻게 처리하는지 더 정확히 설명합니다.

6장에서는 딕셔너리에 키가 존재하지 않을 때 기본값을 반환하는 get() 메서드를 소개합니다.

12~14장의 외계인 침공 프로젝트는 클래스를 바탕으로 완전히 고쳤습니다.

16장의 날씨 프로젝트는 NOAA 사이트의 데이터를 사용합니다.

17장에서는 플로틀리 를 사용해 깃허브에서 진행되는 파이썬 관련 오픈 소스 프로젝트들을 시각화해봅니다.

18~20장의 ‘학습 로그’ 프로젝트는 최신 버전의 장고를 사용하고, 역시 최신 버전의 부트스트랩을 사용해 스타일을 입힙니다.

부록A는 파이썬 설치에 관한 최신 모범 사례를 따르도록 완전히 개정했습니다. 부록B에는 서브라임 텍스트 설정 방법을 실었고, 현재 많이 쓰는 IDE중 소개 합니다. 부록 C에서는 도움이 필요한 독자들이 찾아볼 수 있는 온라인 지원 중에서 더 새롭고 인기있는 곳을 소개 합니다. 부록 D에서는 깃을 통해 버전 관리를 하는 방법을 소개합니다.


[서평]

이책의 구성은 크게 1부와 2부로 나누어 볼수 있습니다. 1부에서는 파이썬의 기본 문법 지식을 배웁니다. 모든 프로그래밍의 공동인 개념입니다. 다양한 데이터에 대해 배우고, 그 데이터를 리스트와 딕셔너리에 저장하는 방법을 배웁니다. 그리고 반복문과 조건문을 처리하는 부분을 배우며 이방법이 나중에 자동화할때 큰 도움이 됩니다. 사용자로부터 입력 받아 프로그램을 대화형으로 만들고, 사용자가 원하는 동안 계속 프로그래밍을 실행하는 방법도 배웁니다. 함수를 통해 프로그램 일부를 다시 사용할 수 있게 만들어서 재사용하는 방법을 배우게 됩니다. 나중에 이개념을 클래스로 확장하면 아주 단순한 프로그램으로도 다양한 상황에 대응할 수 있습니다. 흔히 일어나는 에러를 처리하는 프로그램을 배우게 됩니다. 이 과정을 익히면 버그를 두려워하지 않고 프로그램을 개발할 수 있게 됩니다. 2부에서 앞에서 배운 내용으로 3가지 프로젝트를 진행 합니다. 먼저 첫번째 프로젝트로 갤러그 스타일 게임인 ‘외계인 침공’을 만듭니다. 이 프로젝트를 끝내고 나면 스스로 2차원 게임을 만들어 볼수 있습니다. 두 번째 프로젝트는 데이터 시각화를 소개합니다. 데이터 과학자들은 방대한 정보를 이해하는 수단으로 온라인 소스에서 데이터 세트를 직접 내려 받거나, 프로그램이 자동으로 데이터 세트를 내려받는 등의 방법으로 생성한 데이터를 다루게 됩니다. 이 프로젝트를 마치고 나면 방대한 데이터 세트를 저장한 정보를 시각화하는 프로그램을 만들 수 있습니다.

세번째 프로젝트로 ‘학습 로그’라는 간단한 웹 애플리케이션을 만듭니다. 이 프로젝트는 특정 주제에 대해 공부한 개념이나 그 과정에서 얻은 아이디어를 기록할 목적으로 만드는 겁니다. 다양한 주제별로 로그를 만들 수 있고, 다른 사람들도 계정을 만들어서 자신만의 기록을 남길 수도 있습니다. 프로젝트를 배포해서 누구나, 온라인으로 사용할 수 있게 하는 방법도 배웁니다.

 

모든 프로그래밍이 똑같겠지만 처음 배울때가 가장 중요합니다. 혼자서 이상하게 코딩 하지말고 전세계 독자가 선택한 프로젝트형 파이썬에 입문하는걸 추천합니다.


요약

 

- 학생들을 대상으로 집필한 책인 만큼 친절한 설명

- 최신 파이썬 버전을 반영한 파이썬 입문서적

- 전체적으로 파이썬에 대해 쭉 훑어주는 느낌과 프로젝트를 통해 완성된 느낌이 들게 하는 '종합서'의 느낌

 

요즘 파이썬 복이 터저버렸다!!

여러 서평단에 당첨되어서 이책 저책 새로운책 들을 받아보고 있는데,

대부분이 파이썬이다...!

 

최근에 회사에서 크롤링 관련 프로젝트 준비를 하려고

예전에는 못해봤떤 BeautifulSoup를 만져보고 있는데도 참 도움이 되고 있다.

 

이번에 리뷰할 책은 파이썬! 하면 가장 먼저 떠오르는 책들 중 하나인데...!

(매우매우 유명한?)

나의 첫 파이썬 2판 이다!

파이썬...이라는 이름에 충실한 표지...!

 

17년도에 나왔던 1판의 아쉬운점을 개선했다는데...

1판을 안사서 잘은 모르겠지만

서점 평점들을 보면 1판도 꽤 좋은 평을 들었던 것 같다.

 

일단 간단하게 파이썬 3.6을 기준으로 설명을 하고있다.

(2020년 1월 1일 2버전이 종료됨에 따라 3버전을 권장한다.)

 

파이썬을 가장 간단하게 표현한다면...

지~~~인짜 간단한 영어를 할 줄 아는 사람이라면,

if와 in, print가 뭔지 아는 사람이라면,

프로그래밍을 처음 접하는 사람이라도

위의 문장이 무엇을 뜻하는지 언듯 알 수 있을 것이다.

 

"만약 [1,2,3,4] 안에 4가 있으면 "4가 있습니다."를 출력하세요."

정말 간단하고도 멋지게 파이썬을 표현했다고 생각한다.

 

다른 언어를 먼저 접한 사람들이

파이썬에서 가장 어려워 할만한 것을 꼽자면...

 

1. 괄호없이 들여쓰기

2. 세미콜론

3. 리스트와 딕셔너리

 

가 아닐까 싶다.

 

이 서적은 글쓴이가 '아이들'을 가르치기 위해 집필한 서적으로,

'초심자'를 염두해서 만들었기 때문에

'리스트'의 정의에 많은 시간을 할애한다.

 

비슷하면서도 다른 두 기능을 보면

알겠다가 싶더가도 아리송한것이...

많은 시간을 할애할만하다 싶다.

 

만들어보자!

파이썬 설명을 잘 따라왔다면 프로그래밍의 꽃

프로젝트! 가 기다리고 있다.

 

이론만 가지고 뭔가를 배우는것은 지루할 수 밖에 없고,

프로젝트라는것을 진행할 땐 이론을 알더라도 잘 안되는게 당연하다는것을 아는지

무려 각 프로젝트마다 3챕터를 포함한다.

 

간단하게 만들고 즐길 수 있는 pygame,

파이썬의 꽃 데이터 분석,

파이썬 웹 프레임워크 django!

를 다뤄볼 수 있다.

 

가장 유명한 크롤링을 다루지 않는것은 약간 아쉽지만,

웹에 약간 치우친 경향이 있는 크롤링이 빠지는게

또 어떻게 보면 맞는것 같기도 하다.

 

전반적으로 '종합서' 같은 느낌의 책이다.

책을 만들 때 '나는 이 주제만 깊게 설명할거야!'

라면서 '왜 파이썬을 써야하는가?(뭔가 왜 1+1은 2인가 같은 심오한...)'

같은 접하기 싫어지는 주제보다는

파이썬이라는건 이런거고

파이썬에선 이런걸 사용할 수 있고

파이썬으로 이런걸 만들수 있어

라며 딱 어린 친구들도 알아들을 수 있도록 설명한 서적이라고 생각한다.

전 세계가 선택한 프로젝트 기반 프로그래밍 입문서

나의 첫 파이썬 2판

Python Crash Course, 2nd Edition

(에릭 마테스, 한빛미디어)

 

KakaoTalk_20200806_025257883.jpg

 

 


 

파이썬에 관심이 있어요

대안학교에서 중고등학생들에게 수학/과학을 가르치면서 특별한 교육과정들을 계속 고민하고 있다. 그 중에 하나가 코딩과 데이터 분석이다. 학생들이 배우기 쉬우면서 시각화도 하기 좋은 언어가 무엇일까를 검색해보니 "파이썬"을 압도적으로 많이 추천하고 있었다. 그래서 요즘 여러 파이썬 책들을 보면서 공부를 하고 있다.

 

다른 출판사의 아주 기초적인 파이썬 입문 책도 보았고, 같은 출판사의 다른 파이썬 입문 책도 보고 있는 중에 아주 강력한 광고 문구를 보았다.

 

 

전 세계에서 가장 많이 팔린 파이썬 책

아마존서점 파이썬 베스트셀러 분야 1위

전 세계 50만 부 판매 기록

 

 

 

도대체 어떤 책이길래 전세계에서 이렇게 많이 팔린 걸까? (난 아직 본적도 없는데...) 너무 궁금해 하던 차에 온라인 서점에서 서평단을 모집하는 걸 보고 바로 신청을 했다. 그리고 600페이지가 넘는 상당히 두꺼운 책이 내 눈 앞에 도착했다.

 

 

KakaoTalk_20200806_031728522.jpg

 

 

 


 

 

책을 두 권 산 것 같아요!!

이 책의 저자인 에릭 마테스는 고등학교 교사로 알래스카에서 과학과 수학, 프로그래밍을 가르치고 있다. (뭔가 나랑 비슷하다...?) 다섯 살 때부터 프로그램을 만들었고(이제부터 많이 달라진다...), 교육 부문에서 오픈 소스 소프트웨어를 만들거나 활용하는 데 주력하고 있다고 한다. 

 

그래서인지 책의 내용이 아주 친절하고 상세하다. 얼핏 보면 대학교 교재 같은 느낌도 든다. 하지만 내용은 중고등학생 정도만 되어도 볼 수 있을 정도로 눈높이를 낮춰준 느낌이다. 

 

이 책은 크게 둘로 나눌 수 있다. 반 정도는 파이썬의 기초를, 나머지 반 정도는 프로젝트 몇 개를 만들어보는 데 할애하고 있다.

 

Part I에서는 보통의 파이썬 입문서 처럼 파이썬의 기본 설치에서부터 변수, 데이터 셋, 조건문과 반복문, 함수, 클래스, 파일 관리 등을 설명하고 있다. 다양한 OS 사용자를 배려해서 윈도우, 맥, 리눅스에서 파이썬 사용 환경을 구성하는 것을 설명하는 것으로 시작된다. 그리고 이후에 파이선 기본 입문서 처럼 기초적인 문법을 가르쳐준다. 

 

 

KakaoTalk_20200806_033507270.jpg

 

 

 

요즘에는 워낙 쉽고 친절한 파이썬 입문서가 많기 때문에 여기까지는 그리 특별하지 않을 수도 있다. 그런데 이 책의 진짜 진가는 Part 2 부터라고 해도 과언이 아니라고 생각한다. 1부에서 파이썬 기초 문법을 다 공부한 다음, 2부, 3부, 4부에서는 프로젝트를 하나씩 완성해보면서 보다 실제적인 파이썬 프로그래밍의 경험을 쌓을 수 있다.

 

 보통의 입문서를 다 보고 나면 의욕적으로 뭔가를 만들어 보고 싶은 생각이 든다. 그런데 코딩 창을 띄워놓고 무엇을, 어떻게 해야 할지 막막해서 금방 포기하곤 한다. (나의 경우 GW-BASIC을 공부했을 때도, C를 공부했을 때도, C++을 공부했을 때도.. 그랬던 것 같다.) 그런데 이 책은 보통의 그런 고민들을 알고 있는지, 실제적으로 프로젝트를 완성해보면서 배움의 깊이를 더할 수 있도록 안내해준다.

 

Part 2 에서는 파이게임(Pygame)을 사용하여 외계인 침공 게임을 만들어보고, Part 3에서는 맷플롯립(Matplotlib)을 사용하여 데이터 시각화를 시도해본다. 이어서 Part 4에서는 장고(Django) 프레임워크를 사용하여 학습로그라는 웹 애플리케이션을 만든다. 파이썬에서 사용하는 대표적인 모듈들을 직접 활용해볼 수 있는 점, 그리고 각자가 관심있는 영역(게임, 데이터시각화, 웹 애플리케이션)을 골라서 공부해볼 수 있는 점이 좋았다. 

 

 

KakaoTalk_20200806_034905476.jpg

 

 

게임도 만들어 보고,

 

 

KakaoTalk_20200806_034905476_01.jpg

 

 

데이터 분석도 해보고,

 

KakaoTalk_20200806_034905476_02.jpg

 

 웹 애플리케이션도 만들어 볼 수 있다. 관심 있는 영역 부터 공부해보면 좋을 듯하다. (어쩌지? 난 다 관심있는데...)

 

 

왜 이 책이 "프로젝트 기반 프로그래밍 입문서"라고 했는지 알 수 있었다. 문법 이론을 공부할 때에는 대부분 짧은 코드를 작성하기 때문에 실제 큰 프로젝트를 진행할 때의 프로세스를 알기 어렵다. 그런데 이렇게 프로젝트를 따라 하면서 공부를 하니 그런 과정들을 이해할 수 있었다. 

 

여러 개의 파일들과 클래스들을 구조화하고 기능들을 하나씩 추가해가면서 "아, 이런 과정으로 이런 프로그램들이 만들어져가는 구나!"하고 재미를 느낄 수 있었다. 프로젝트를 설계하고, 구현해가는 과정을 체험해볼 수 있는 것이 이 책의 아주 큰 매력인 것 같다. 정말 대박! 감탄하지 않을 수 없네.

 

 

마치 파이썬 프로그래밍 "입문편"과 "실전편"을 본 것 같다. 책 두권을 얻은 느낌이랄까?

 

 

그리고 마지막으로, 많은 양은 아니지만 책의 마지막에 제공되는 부록도 유익했다. 운영체제 별 설치와 문제 해결에 대한 내용(A), 몇 가지 텍스트 에디터 소개(B), 도움을 얻기 위한 몇 가지 팁(C), 버전 관리를 위한 깃 소개(D)들이 부록으로 제공되었다. 섬세한 것 까지 챙겨주는 배려가 느껴졌다.

 

 

KakaoTalk_20200806_041452796.jpg

 

 

저자의 설명대로 이 책의 목적은 가능한 한 빨리 파이썬으로 프로그램을 만들어보는 것이다. 그리고 프로젝트를 진행하며 학생들에게 프로그래밍을 가르치려 하는 중고등학교 교사들에게도 좋은 책이다. 프로그래밍을 공부하면서 더 쉬운 참고서를 찾는 사람들에게도 좋다. 

 

 저자가 제공하는 온라인 사이트에 가면 학습에 필요한 여러 가지를 제공하고 있어서 참고하면 도움이 많이 된다.

 

나도 열심하 코딩 공부를 해서 저자처럼 학생들에게 프로그래밍 교육도 하고, 프로젝트도 만들어보고, 관련된 책들도 써보면 좋겠다는 생각을 한다. 부지런히 공부해야겠다. 다음 학기에 코딩에 관심있어 하는 학생들과 동아리부터 만들어봐야겠다!

 

 

파이썬 입문서로 강력 추천합니다!!

 

YES24 리뷰어클럽 서평단 자격으로 작성한 리뷰입니다.

 

이 책은 전세계에서 가장 많이 팔린 파이썬 책 으로 전세계적으로 무려 50만부를 판매하면서 아마존 서점 파이썬 베스트 셀러 분야 1위에 등극한 책이다



저자 소개

이 책의 저자 에릭 마테스는 고등학교 교사로 알래스카에서 과학, 수학, 프로그래밍을 가르치고 있다

다섯 살 때부터 프로그램을 만들었고 현재는 교육 부문에서 오픈소스 소프트웨어를 만들거나 활용하는 데 주력하고 있다고 한다

에릭 마테스는 아이들에게 파이썬을 가르치며 얻은 실습 중심의 수업 방식, 노하우를 초보자도 어려움 없이 파이썬을 배울 수 있도록 이 책으로 정리했다


온라인 자료

GitHub: https://github.com/ehmatthes/pcc_2e

GitHub IO: https://nostarch.com/pythoncrashcourse2e

no starch press: https://ehmatthes.github.io/pcc_2e/regular_index


온라인 자료에 포함된 내용

  • 설치방법
    • - 책에 실린 내용과 같으며 클릭하면 연결되는 링크가 있음
  • 업데이트
    • 파이썬이 업데이트될 때마다 반영 책에서 설명한 내용이 동작하지 않는다면 참조
  • 연습문제 해답
    • 연습문제 해답이 있음
  • 치트 시트
    • 파이썬의 주요 개념을 빠르게 훑어볼 수 있는 치트 시트를 내려받을 수 있음


개정된 내용

50만 독자의 피드백을 반영하고 2판으로 개정되면서 최신버전인 파이썬 3.8에 맞게 수정하며 오래된 내용인 파이썬 2에 관한 지원을 제거 했다


1장 

- 주요 운영체제 사용자들이 파이썬을 더 쉽게 설치 할 수 있도록 단순화 하고 서브라임 텍스트를 권장하는 내용을 추가

2장 

- 파이썬이 변수를 어떻게 처리하는지 더 정확히 설명

- 변수를 값의 라벨이라고 설명

- 파이썬 3.6에서 도입한 f-문자열을 활용

- 파이썬 3.6에서 도입한 아주 큰 숫자에 밑줄을 써서 1_000_000처럼 표현하는 방법을 따름

- 변수 여러 개에 한꺼번에 값을 할당하는 방법을 일반화해 2장에서 소개함

- 파이썬에서 상수를 더 명확히 나타내는 표기법 설명

6장

- 딕셔너리에 키가 존재하지 않을 때 기본값을 반환하는 get() 메서드를 소개

12~14장

- 외계인 침공 프로젝트는 클래스를 바탕으로 완전히 수정

- 게임 자체도 함수의 연속이 아니라 클래스로 수정

- 전체적인 구조가 단순해지고 함수 호출 횟수와 매개 변수 수도 많이 줄어듬

- 이제 어떤 시스템에서든 명령어 한 줄로 Pygame을 설치할 수 있고 전체 화면모드나 창모드를 선택해서 실행할 수 있음

15장

- 데이터 시각화 프로젝트에서는 Matplotlib 라이브러리 설치가 쉬워짐

Matplotlib의 시각화의 subplot() 함수를 사용하는 부분이 쉬워짐

- 주사위 굴리기 프로젝트에서 잘 관리되는 시각화 라이브러리 Plotly 사용

Plotly는 깔끔한 문법으로 고품질의 출력 결과를 얻을 수 있으며 출력 옵션 역시 마음대로 바꿀 수 있음

16장

- 날씨 프로젝트는 NOAA 사이트의 데이터를 사용

- 초판에서 이용했던 사이트에 비해 향후 몇년은 신뢰할 수 있는 사이트

- 지도 프로젝트는 지구 규모의 지진활동을 시각화하는 것을 목표

- 프로젝트 완수 후 주어진 기간안에 일어난 모든 지진의 위치를 지각 판 경계와 함께 표시한 놀라운 시각화 결과를 보게됨

- 지리적 포인트를 포함해 어떤 데이터든 그래프로 그리는 방법을 알게됨

17장

Plotly를 사용해 GitHub에서 진행되는 파이썬 관련 오픈 소스 프로젝트들을 시각화해봄

18~20장

- 학습 로그 프로젝트는 최신 버전의 Django를 사용

- 최신 버전의 Bootstrap을 사용해 스타일을 입힘

django-heroku 패키지를 사용해서 프로젝트를 헤로쿠에 올리는 과정을 단순화함

setting.py 파일을 편집하지 않고 환경 변수를 사용하게 바꿔서 더 단순화함

- 단순화할 뿐 아니라 최신 장고 프로젝트를 운영하는 프로 프로그래머들이 사용하는 방법

부록A

- 파이썬 설치에 관한 최신 모범 사례를 따르도록 완전히 개정

부록B

서브라임 텍스트 설정방법 추가

- 현재 널리 쓰이는 텍스트 에디터와 IDE 중 산당수를 간단히 소개

부록C

- 도움이 필요한 독자들이 찾아볼 수 있는 온라인 자원 중에서 더 새롭고 인기 있는 곳들을 소개

부록D

- 깃을 통해 버전 관리를 하는 방법을 소개


책의 구성

1부

책의 초반은 파이썬 프로그램을 만드는데 필요한 기본 개념을 배운다

이 개념은 어떤 프로그래밍 언어에서든 공통인 개념이다

다양한 데이터에 대해 배우고 그 데이터를 리스트와 딕셔너리에 저장하는 방법을 배운다

데이터 컬렉션을 만들고 그 컬렉션을 효과적으로 다루는 법을 배운다

while 루프와 if문을 통해 조건을 만족할 때는 이부분을 만족하지 않을 때는 다른 부분을 실행하는 방법을 배운다


사용자로부터 입력을 받아 프로그램을 대화형으로 만들고 사용자가 원하는 동안 계속 프로그램을 실행하는 방법도 배운다

함수를 통해 프로그램 일부를 다시 사용할 수 있게 만들어서 한 가지 일을 하는 코드는 한 번만 만들고 필요한 만큼 재사용하는 법을 배운다

나중에 이 개념을 클래스로 확장하면 아주 단순한 프로그램으로도 다양한 상황에 대응할 수 있다

흔히 일어나는 에러를 우아하게 처리하는 프로그램을 만들 수 있게 된다

이런 기본 개념들을 익힐 때마다 간단한 프로그램을 만들어서 필자가 세심하게 선정한 문제를 풀게 된다


마지막으로 코드를 테스트하는 방법을 배우면서 중급 프로그래밍으로 한 걸음 더 나가게 된다

이 과정을 익히면 버그를 두려워하지 않고 프로그램을 개발할 수 있게 된다

1부에서 배우는 것들은 모두 더 크고 복잡한 프로젝트를 만드는 기초가 된다


2부

1부에서 배운 내용을 세 가지 프로젝트에 응용한다

이들 프로젝트에는 정해진 순서가 없으므로 어떤 것을 먼저 진행하든 상관 없다

12~14장에서는 첫 번째 프로젝트로 점점 어려워지는 갤러그 스타일 게임 외계인 침공을 만든다

이 프로젝트를 끝내고 나면 스스로 2차원 게임을 만들어 볼 수 있다


15~17장에서는 두 번째 프로젝트로 데이터 시각화를 소개한다

데이터 과학자들은 방대한 정보를 이해하는 수단으로 다양한 시각화 테크닉을 시도한다

이 프로젝트에서는 코드를 통해 데이터 세트를 만들거나 온라인 소스에서 데이터 세트를 직접 내려받거나 

프로그램이 자동으로 데이터 세트를 내려받는 등의 방법으로 생성한 데이터를 다루게 된다

이 프로젝트를 마치고 나면 방대한 데이터 세트를 누비고 다니며 저장한 정보를 시각화하는 프로그램을 만들 수 있게 된다


18~20장에서는 세번째 프로젝트로 학습 로그라는 간단한 웹 애플리케이션을 만든다

이 프로젝트는 특정 주제에 대해 공부한 개념이나 그 과정에서 얻은 아이디어를 기록할 목적으로 만든다

다양한 주제별로 로그를 만들 수 있고 다른 사람들도 계정을 만들어서 자신만의 기록을 남길 수 도 있다

프로젝트를 배포해서 누구나 어디서든 온라인으로 사용할 수 있게 하는 방법도 배운다


서평

전 세계 언어로 번역되어 50만부나 팔린 베스트셀러 서적이라고해서 파이썬 입문 서적이 어떻게 이렇게 나 많이 팔릴 수 있는 지 신기하기도 했다

신기하게도 이 책의 저자는 개발자가 아니며 고등학교 교사이다

프로그래밍 전문 강사도 아니였으며 과학, 수학, 프로그래밍을 가르치는 교사이다


저자가 남을 가르치는 직업을 가져서 그런지 교육자의 성향이 책에 그대로 녹아있어 학생의 입장에서 매우 이해하기 쉽도록 구성되어 있다

책의 내용과 구성 뿐만아니라 제공되는 온라인 자료 까지 정말 매우 체계적이고 초보자들이 쉽게 이해하며 언어를 배울 수 있도록 구성이 되어 있다


마치 자신이 처음 언어를 공부할때 알아가던 방식으로 마치 책의 독자들에게 강의 하듯이 진행된다

정말 상세히 프로그램 기초 부터 파이썬 언어의 기초를 가르쳐준다

아주 심플한 예제와 예제의 결과 값을 살펴보며 이 예제를 실행하면 왜 이런 결과 값이 출력이 되는지 아주 자세히 설명해준다


초보자들이 간과하기 쉬운 중요한 팁들도 놓치지 않고 가르쳐주며 넘어간다

 

 

20200731_232534.jpg

 

20200731_232551.jpg

 

이 책의 절반 가량은 파이썬 언어의 기초적인 내용들을 공부할 수 있도록 구성되어 있고 

 

나머지 절반의 내용은 모두 프로젝트 개발 내용이 실려 있다


챕터 12의 외계인 침공 게임 프로젝트에서는 Pygame을 사용해 이떄까지 배웠던 파이썬 언어를 활용해 갤러그 비슷한 게임을 직접 구현해본다

언어의 기초를 배우고 써먹지 않으면 금세 까먹어 버리는데 이렇게 프로젝트를 진행해봄으로써 언어의 이해도가 훨씬 높아 지는 것 같다


기초적인 프로젝트이지만 코드의 구성이나 설계가 엉성하지 않다 중복코드를 줄이고 클래스를 활용하며 개발자들이 실제로 사용하는 기법들을 사용하여 

프로젝트를 진행하므로 프로젝트를 하나하나 진행하면서 어떤식으로 코드를 짜는 것이 더 좋은지 왜 이런식으로 개발을 하는지 이해해나가며 

실무에 활용할 수 있을만한 수준의 개발지식을 얻을 수 있게 된다

 

 

20200731_232625.jpg

 

20200731_232650.jpg

  책으로 파이썬 기초적이 부분을 공부하고 나서 프로젝트를 진행해 봄으로써 파이썬 언어 입문자는 매우 많은 성장을 할 수 있을 것 같다

하지만 프로젝트를 진행해본다고 해서 파이썬 프로젝트 각각에 대해서 깊게 이해하기는 힘든 부분이 있다

프로젝트 하나 하나가 실제로는 그 범위가 매우 넓고 방대한 분야이기 때문에 이 책을 통해 기초를 습득 했다면

이제 자신이 원하는 분야에 대해 더 깊게 공부 해볼 수 있는 준비가 된 것이므로 자신이 관심있는 분야에 대해 더 깊게 공부 해보면 좋을 것 같다


이 책을 훑어 보니 흔하디 흔한 파이썬 입문서중에 어떻게 베스트셀러가 된 건지 알 수 있을 것 같다

입문자를 체계적인 구성, 명확한 설명, 이해하기 쉬운 내용, 아주 기초적인 부분부터 눈높이를 맞추어 진행되는 예제 코드

그리고 마지막 끝판왕 각 분야벌 프로젝트 예제 완수로 이 책 한권만 마스터 하면 확실히 파이썬 언어의 기본적인 부분은 마스터 할 수 있다


파이썬 언어에 입문하고 싶다면 2판으로 개정된 나의 첫 파이썬 책을 강력히 추천한다

 

 

20200731_232336.jpg

 

 

※출판사로부터 책을 무상으로 제공받아 직접 실습해보고 정성껏 작성한 리뷰 입니다

 

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 상품명 :
나의 첫 파이썬(2판)
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
나의 첫 파이썬(2판)
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
나의 첫 파이썬(2판)
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 상품1