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

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

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

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

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

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

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

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

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

켄유엔스-클락

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

목차

CHAPTER1파이썬프로그램작성및테스트방법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.10main()함수추가하기17
1.11get_args()함수추가18
1.12hello.py테스트21
1.13new.py를사용해새로운프로그램시작하기22
1.14new.py대신template.py사용하기25

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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