이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
21개의 작고 재미난 파이썬 프로젝트
프로그래밍 스킬, 새로운 알고리즘, 테스트 주도 개발을 배우다
베스트
프로그래밍 언어 top100 2주
가격
30,000
10 27,000
YES포인트?
1,500원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요
배송안내
서울특별시 영등포구 은행로 11(여의도동, 일신빌딩) 변경
배송비?
무료

이미 소장하고 있다면 판매해 보세요.

  •  국내배송만 가능
  •  문화비소득공제 가능

이 분야의 이벤트

상세 이미지

책소개

목차

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

저자 소개 2

켄 유엔스-클락

관심작가 알림신청
 

Ken Youens-Clark

소프트웨어 개발자이자 교육자 및 작가. 노스 텍사스 대학교에서 학부에 들어가 재즈(드럼)를 연구하다 여러 번 전공을 바꿔 결국 영문학 학사를 땄다. 1990년대 중반부터 직장에서 코딩을 배워 산업계, 학계, 비영리단체에서 일했다. 2019년 애리조나 대학교에서 바이오시스템 공학 석사 학위를 받았다. 저서로 『21개의 작고 재미난 파이썬 프로젝트』(제이펍, 2021) 등이 있다.

켄 유엔스-클락의 다른 상품

약 20년간 일본, 한국, 싱가포르에서 IT 및 GIS/LBS 분야 업무를 담당했다. 일본에서는 일본 정부 기관을 대상으로 한 시스템 통합(SI) 업무를 담당했으며, 야후 저팬으로 직장을 옮겨 야후 맵 개발 담당 시니어 엔지니어로 근무했다. 한국에서는 SK에서 티맵 등 내비게이션 지도 데이터 담당 매니저로 근무했고, 현재는 싱가포르에서 독일계 회사의 설루션 아키텍트로 근무하고 있다. 저서로는 『나는 도쿄 롯폰기로 출근한다』(삶과지식, 2014)가 있으며, 역서로는 『Go 언어로 배우는 웹 애플리케이션 개발』(2024), 『21개의 작고 재미난 파이썬 프로젝트』(2021), 『그림
약 20년간 일본, 한국, 싱가포르에서 IT 및 GIS/LBS 분야 업무를 담당했다. 일본에서는 일본 정부 기관을 대상으로 한 시스템 통합(SI) 업무를 담당했으며, 야후 저팬으로 직장을 옮겨 야후 맵 개발 담당 시니어 엔지니어로 근무했다. 한국에서는 SK에서 티맵 등 내비게이션 지도 데이터 담당 매니저로 근무했고, 현재는 싱가포르에서 독일계 회사의 설루션 아키텍트로 근무하고 있다. 저서로는 『나는 도쿄 롯폰기로 출근한다』(삶과지식, 2014)가 있으며, 역서로는 『Go 언어로 배우는 웹 애플리케이션 개발』(2024), 『21개의 작고 재미난 파이썬 프로젝트』(2021), 『그림으로 공부하는 IT 인프라 구조, 개정판』(이상 제이펍, 2020) 등 40여 종이 있다.

김완섭의 다른 상품

품목정보

발행일
2021년 08월 11일
쪽수, 무게, 크기
532쪽 | 188*245*26mm
ISBN13
9791191600346

책 속으로

이 프로그램을 사용하는 사람은 인사 대상을 인수로 전달할 수 있다는 사실을 어떻게 알 수 있을까? 우리는 프로그램에 도움말 기능을 추가해서 이런 정보를 사용자에게 알려줘야 한다. 대부분의 명령줄 프로그램은 -h나 --help라는 인수를 입력하면 도움말을 표시한다. 우리도 다음과 같은 도움말을 표시하면 좋을 것이다.
--- p.13

키가 문자열일 필요는 없다. int나 float 같은 숫자를 사용해도 된다. 단, 값은 항상 변경 불가능한(immutable) 타입이어야 한다. 예를 들어, 앞 장에서 본 것처럼 리스트는 변경 가능한 타입이므로 값으로 사용할 수 없다. 어떤 타입이 변경 불가능한 타입인지 뒤에서 배우게 된다.
--- p.88

명령줄의 인수를 전달하고 검증하는 모든 처리는 get_args()에서 끝내는 것이 내 스타일이다. 특히 argparse는 직접 하면 매우 지루한 여러 작업을 대신해 준다. 예를 들면, 인수가 존재하는지 확인하거나 파일이 읽기 가능한 파일인지(type=argparse.FileType('rt')를 사용하는 이유)를 확인하는 작업이 그렇다. 사용자가 잘못된 인수를 지정한다면 argparse가 오류를 발생시켜서 도움이 되는 메시지를 출력한 후 프로그램을 중단시킨다(이때 오류 코드도 함께 표시한다).
--- p.142

어떤 노래들은 ‘99개 맥주병이 벽장에 있다(99 Bottles of Beer on the Wall)’라는 노래처럼 매우 지겹다. 중학생들이 가득 차 있는 스쿨버스에서 이런 노래를 들은 적이 없길 바란다(필자는 있다). 매우 간단한 노래로, 프로그램으로 만들 수도 있다. 이 프로그램을 통해 숫자를
올려 세거나 내려 세는 방법을 배울 수 있고, 문자열 형식 지정도 할 수 있다. 또한, (이 장에서 처음 배워보는) 함수를 만들고 테스트해 볼 수도 있다.
--- p.211

테스트를 작성할 때는 옳은 데이터와 틀린 데이터를 모두 준비해서 함수와 프로그램을 테스트한다. 위의 테스트 데이터 중 3개는 운율을 만들 수 없다. 빈 문자열(''), 모음이 없는 문자열('RDNZL'), 글자가 없는 문자열('123')이 대상 데이터다. 이 경우는 stemmer() 함수가 튜플을 반환할 때 첫 번째 요소는 소문자 단어이고, 두 번째 요소는 단어의 나머지 부분(rest)으로 빈 문자열이 된다. 운율을 갖지 않는 단어를 처리하는 것은 해당 단어를 호출하는 함수가 어떻게 처리하느냐에 달려 있다.

--- p.272

출판사 리뷰

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

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

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

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

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

이 책의 주요 내용

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

이 책의 대상 독자

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

리뷰/한줄평6

리뷰

9.8 리뷰 총점

한줄평

10.0 한줄평 총점

클린봇이 부적절한 글을 감지 중입니다.

설정
27,000
1 27,000