본문 바로가기

도서 소개

21개의 작고 재미난 파이썬 프로젝트: 프로그래밍 스킬, 새로운 알고리즘, 테스트 주도 개발을 배우다

파이썬으로 코딩 기술을 향상하기 위한 탁월한 선택!

도서 구매 사이트(가나다순)

[교보문고] [도서11번가] [알라딘] [예스이십사] [인터파크]

전자책 구매 사이트(가나다순)

[교보문고] [구글북스] [리디북스] [알라딘] [예스이십사] [인터파크]

출판사 제이펍

저작권사 Manning

원서명 Tiny Python Projects (ISBN 9781617297519)

도서명 21개의 작고 재미난 파이썬 프로젝트

부 제 프로그래밍 스킬, 새로운 알고리즘, 테스트 주도 개발을 배우다

저자명 켄 유엔스-클락

역자명 김완섭

출판일 2021년 8월 11일

페이지 532

시리즈 (없음)

판 형 4×6배판변형(188*245*25.7)

제 본 무선(soft cover)

정 가 30,000원

ISBN 979-11-91600-34-6 (93000)

키워드 프로그래밍 / 파이썬 / 문자열 / 리스트 / 딕셔너리 / 정규 표현식 / 테스트 주도 개발 / TDD / 운율 생성기 / 알고리즘 / CSV / 인수

분야 프로그래밍 / 파이썬

관련 사이트

저작권사 해당 도서 페이지

아마존 해당 도서 페이지

저자 유튜브 강의 동영상(영어 버전)

관련 포스트

2021/7/13 - [출간전 책소식] - 야! 너두 할 수 있어, 파이썬!

관련 시리즈
■ (없음)

관련 도서
프로그래머를 위한 파이썬
효율적 개발로 이끄는 파이썬 실천 기술

파이썬 챌린지: 150개의 코딩 과제로 배운다

관련 파일 다운로드

예제 코드 다운로드

강의보조 자료(교재로 채택하신 분들은 메일(textbook@jpub.kr)을 보내주시면 다음의 자료를 보내드리겠습니다.)

■ 본문의 그림과 표

샘플 PDF(표지, 차례, 옮긴이 머리말, 시작하며, 감사의 글, 이 책에 대하여, 표지에 대하여, 시작하기: 소개 및 프로그램 설치 안내, 베타리더 후기, 1장 '파이썬 프로그램 작성 및 테스트 방법' 일부, 2장 '배 위의 망대: 문자열 처리' 일부, 15장 '켄터키 수도사: 정규 표현식 더 배워보기' 일부, 부록 'argparse 사용하기' 일부)

sample_21개의작고재미난파이썬프로젝트.pdf
6.65MB

정오표 페이지

■ (등록되는 대로 링크를 걸어드리겠습니다)

도서 구매 사이트(가나다순)

[교보문고] [도서11번가] [알라딘] [예스이십사] [인터파크]

전자책 구매 사이트(가나다순)

[교보문고] [구글북스] [리디북스] [알라딘] [예스이십사] [인터파크]

도서 소개

모든 파이썬 프로그래머를 위해 마련한 코딩 기술을 향상하기 위한 최고의 한 권!

이 책은 다른 책들과 달리 명령줄 프로그램을 사용해서 다양한 파이썬의 기능을 설명하고 있다. 각 장마다 문제 형식으로 구성돼 있어, 스스로 문제를 풀 수 있도록 유도한다. 설명만 잘 따라간다면 혼자서도 문제를 해결할 수 있을 것이다. 책을 읽지만 말고 꼭 주어진 문제를 스스로 해결해보자. 실력이 느는 것은 물론이요, 주어진 테스트를 통과(pass)했을 때 느끼는 성취감은 황홀할 정도다.

아울러 이 책은 잘 구조화되고 문서화돼 있으며, 테스트할 수 있는 코드를 파이썬으로 작성하는 방법을 알려준다. 테스트 주도 개발(test-driven development)처럼 실무에서 사용되고 있는 기술도 소개한다. 그리고 문서를 읽는 방법과 파이썬 개선 제안서(Python Enhancement Proposal, PEP) 참고 방법 등을 소개하며, 다른 파이썬 개발자도 쉽게 이해할 수 있는 코드 작성법에 대해서도 알려준다.

어떤 방식을 사용하든지 이 책에 있는 모든 코드는 직접 입력해 보자. 이를 통해 기억 근육을 단련할 수 있을 뿐만 아니라 언어가 가진 문법을 이해할 수 있을 것이다.

이 책에서 다루는 프로젝트의 규모는 비록 작지만, 얻을 수 있는 보상은 너무나도 크다. 챕터마다 새로운 파이썬 프로그램(패스워드 생성기, 단어 운율기, 셰익스피어식 험담 생성기 등)을 소개하여 독자에게 도전 의욕을 불러일으킨다. 이런 재미있는 실습을 모두 마치면 여러분은 파이썬 초보자가 아니라 자신감 있는 프로그래머로 성장할 수 있을 것이며, 무엇보다 이 과정이 즐거운 기억으로 남게 될 것이다.

이 책의 주요 내용

  • 명령줄에서 파이썬 프로그램 작성하기
  • 파이썬의 데이터 구조 처리하기
  • 무작위성 사용 및 제어하기
  • 프로그램 및 함수용 테스트 코드 작성과 실행하기
  • 각 프로젝트를 위한 테스트 툴 다운로드하기

이 책의 대상 독자

  • 자신의 프로그래밍 실력을 한 단계 더 끌어올리고 싶은 분
  • 다른 언어를 접한 경험은 있지만 파이썬 언어는 처음인 분

지은이 소개

켄 유엔스-클락(Ken Youens-Clark)
애리조나 대학교에서 시니어 연구 프로그래머로 일하고 있다. 컴퓨터 과학을 이용해서 생물학 데이터를 다루는 바이오정보학을 전문으로 하며, 1995년에 입사한 첫 번째 직장에서 데이터베이스와 HTML을 다루기 시작했고, 회사의 메일링 목록과 첫 웹사이트를 구축했다. 이 일로 프로그래밍에 매료되었으며, 윈도우 3.1에서 동작하는 비주얼 베이직 공부를 시작했다. 이후 수년간 다양한 언어와 회사를 거쳐 2001년에 콜드스프링 하버 연구소(Cold Spring Harbor Laboratory)의 바이오정보학 그룹에 입사했다. 2014년에는 애리조나 대학교에서 일하기 위해 애리조나의 투손(Tucson)으로 거처를 옮겼고, 2019년에 바이오시스템 공학 석사 학위를 취득했다. 코딩을 하지 않을 때는 악기를 연주하거나 자전거, 요리, 독서 등을 즐기면서 가족과 함께 시간을 보낸다.

옮긴이 소개

김완섭

네덜란드 ITC에서 Geoinformation for Disaster Risk Management 석사 학위를 취득했다. 약 15년간 일본, 한국, 싱가포르에서 IT 및 GIS/LBS 분야 업무를 담당했다. 일본에서는 일본 외무부, 국토지리정보원 같은 정부기관을 대상으로 한 시스템 통합(SI) 업무를 담당했으며, 야후 재팬으로 직장을 옮겨 야후맵 개발 담당 시니어 엔지니어로 근무했다. 한국에서는 SK에서 T맵 등 내비게이션 지도 데이터 담당 매니저로 근무했으며, 현재는 싱가포르에서 독일계 회사의 솔루션 아키텍트로 근무하고 있다. 저서로는 《나는 도쿄 롯폰기로 출근한다》가 있으며, 역서로는 《알고리즘 도감》, 《처음 만나는 HTML5 & CSS3》, 《인공지능 70》, 《처음 만나는 자바스크립트》, 《다양한 언어로 배우는 정규표현식》, 《그림으로 공부하는 IT 인프라 구조》, 《그림으로 공부하는 시스템 성능 구조》 등 40여 종이 있다.

차례

CHAPTER 1 파이썬 프로그램 작성 및 테스트 방법 1
1.1 첫 파이썬 프로그램 작성하기 2
1.2 주석 처리 3
1.3 프로그램 테스트하기 3
1.4 #!(셔뱅) 추가하기 7
1.5 실행 가능한 프로그램 만들기 9
1.6 $PATH 이해하기 10
1.7 프로그램 인수 및 도움말 추가하기 13
1.8 옵션 인수 만들기 15
1.9 테스트 프로그램 실행하기 17
1.10 main() 함수 추가하기 17
1.11 get_args() 함수 추가 18
1.12 hello.py 테스트 21
1.13 new.py를 사용해 새로운 프로그램 시작하기 22
1.14 new.py 대신 template.py 사용하기 25

더보기

CHAPTER 2 배 위의 망대: 문자열 처리 29
2.1 시작하기 30
2.2 예시 답안 47
2.3 해설 48
2.4 도전 과제 52

CHAPTER 3 소풍 가기: 리스트 사용 55
3.1 프로그램 시작하기 56
3.2 picnic.py 작성하기 58
3.3 리스트 60
3.4 if/elif/else를 사용한 조건 분기문 75
3.5 예시 답안 76
3.6 해설 77
3.7 도전 과제 80

CHAPTER 4 숫자 5 넘어가기: 딕셔너리 사용 81
4.1 딕셔너리 82
4.2 jump.py 작성하기 89
4.3 예시 답안 91
4.4 해설 92
4.5 도전 과제 100

CHAPTER 5 하울러: 파일 및 STDOUT 사용하기 101
5.1 파일 읽기 102
5.2 파일 쓰기 108
5.3 howler.py 작성하기 110
5.4 예시 답안 113
5.5 해설 114
5.6 도전 과제 119

CHAPTER 6 단어 세기: 파일 및 STDIN 읽기, 리스트 반복, 문자열 형식 121
6.1 wc.py 작성하기 123
6.2 예시 답안 129
6.3 해설 130
6.4 도전 과제 133

CHAPTER 7 미지의 세계: 딕셔너리에서 아이템 찾기 135
7.1 gashlycrumb.py 작성하기 137
7.2 예시 답안 141
7.3 해설 142
7.4 도전 과제 146

CHAPTER 8 애플과 바나나: 찾기와 바꾸기 147
8.1 문자열 변경하기 150
8.2 예시 답안 153
8.3 해설 154
8.4 테스트를 통한 리팩토링 173
8.5 도전 과제 173

CHAPTER 9 저주의 전화: 단어 목록에서 무작위 험담 만들기 175
9.1 abuse.py 작성하기 177
9.2 예시 답안 185
9.3 해설 186
9.4 도전 과제 192

CHAPTER 10 전화: 무작위로 문자열 변경하기 193
10.1 telephone.py 작성하기 195
10.2 예시 답안 204
10.3 해설 205
10.4 도전 과제 208

CHAPTER 11 맥주병 노래: 함수 작성 및 테스트 211
11.1 bottles.py 작성하기 212
11.2 예시 답안 221
11.3 해설 223
11.4 도전 과제 229

CHAPTER 12 협박 편지: 텍스트를 무작위로 대문자화하기 231
12.1 ransom.py 작성하기 233
12.2 예시 답안 236
12.3 해설 238
12.4 방법 비교하기 243
12.5 도전 과제 244

CHAPTER 13 12일간의 크리스마스: 알고리즘 디자인 245
13.1 twelve_days.py 작성하기 246
13.2 예시 답안 255
13.3 해설 258
13.4 심화 학습 264

CHAPTER 14 운율 생성기: 정규 표현식을 사용해서 운율 맞추기 267
14.1 rhymer.py 작성하기 270
14.2 예시 답안 282
14.3 해설 284
14.4 도전 과제 291

CHAPTER 15 켄터키 수도사: 정규 표현식 더 배워보기 293
15.1 friar.py 작성하기 296
15.2 예시 답안 309
15.3 해설 311
15.4 도전 과제 314

CHAPTER 16 믹서기: 무작위로 단어의 중간 부분 재정렬하기 317
16.1 scrambler.py 작성하기 319
16.2 예시 답안 326
16.3 해설 328
16.4 도전 과제 331

CHAPTER 17 매드립: 정규 표현식 사용하기 333
17.1 mad.py 작성하기 335
17.2 예시 답안 343
17.3 해설 345
17.4 도전 과제 348

CHAPTER 18 게마트리아: 아스키값을 사용한 텍스트 수치화 349
18.1 gematria.py 작성하기 351
18.2 예시 답안 361
18.3 해설 362
18.4 도전 과제 367

CHAPTER 19 오늘의 운동: CSV 파일 사용하기와 텍스트 테이블 만들기 369
19.1 wod.py 작성하기 371
19.2 예시 답안 384
19.3 해설 386
19.4 도전 과제 393

CHAPTER 20 패스워드 강도: 안전하고 기억하기 쉬운 패스워드 생성하기 395
20.1 password.py 작성하기 398
20.2 예시 답안 410
20.3 해설 413
20.4 도전 과제 417

CHAPTER 21 틱택토 게임: 상태 확인하기 419
21.1 tictactoe.py 작성하기 421
21.2 예시 답안 427
21.3 도전 과제 435

CHAPTER 22 돌아온 틱택토 게임: 타입 힌트를 사용한 대화형 버전 437
22.1 itictactoe.py 작성하기 438
22.2 예시 답안 449
22.3 도전 과제 454

APPENDIX argparse 사용하기 457
A.1 인수의 종류 459
A.2 새로운 프로그램을 만들 때 템플릿 사용하기 460
A.3 argparse 사용하기 461
A.4 argparse 사용 예 466

제이펍 소식 더 보기(제이펍의 소통 채널에서 더욱 다양한 소식을 확인하세요!)

네이버 책 포스트 유튜브 인스타그램 트위터 페이스북