책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 파이썬
· ISBN : 9791191600346
· 쪽수 : 532쪽
책 소개
목차
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
리뷰
책속에서
이 프로그램을 사용하는 사람은 인사 대상을 인수로 전달할 수 있다는 사실을 어떻게 알 수 있을까? 우리는 프로그램에 도움말 기능을 추가해서 이런 정보를 사용자에게 알려줘야 한다. 대부분의 명령줄 프로그램은 -h나 --help라는 인수를 입력하면 도움말을 표시한다. 우리도 다음과 같은 도움말을 표시하면 좋을 것이다.
키가 문자열일 필요는 없다. int나 float 같은 숫자를 사용해도 된다. 단, 값은 항상 변경 불가능한(immutable) 타입이어야 한다. 예를 들어, 앞 장에서 본 것처럼 리스트는 변경 가능한 타입이므로 값으로 사용할 수 없다. 어떤 타입이 변경 불가능한 타입인지 뒤에서 배우게 된다.