이미 소장하고 있다면 판매해 보세요.
|
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 |
Ken Youens-Clark
켄 유엔스-클락의 다른 상품
김완섭의 다른 상품
|
이 프로그램을 사용하는 사람은 인사 대상을 인수로 전달할 수 있다는 사실을 어떻게 알 수 있을까? 우리는 프로그램에 도움말 기능을 추가해서 이런 정보를 사용자에게 알려줘야 한다. 대부분의 명령줄 프로그램은 -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) 참고 방법 등을 소개하며, 다른 파이썬 개발자도 쉽게 이해할 수 있는 코드 작성법에 대해서도 알려준다. 어떤 방식을 사용하든지 이 책에 있는 모든 코드는 직접 입력해 보자. 이를 통해 기억 근육을 단련할 수 있을 뿐만 아니라 언어가 가진 문법을 이해할 수 있을 것이다. 이 책에서 다루는 프로젝트의 규모는 비록 작지만, 얻을 수 있는 보상은 너무나도 크다. 챕터마다 새로운 파이썬 프로그램(패스워드 생성기, 단어 운율기, 셰익스피어식 험담 생성기 등)을 소개하여 독자에게 도전 의욕을 불러일으킨다. 이런 재미있는 실습을 모두 마치면 여러분은 파이썬 초보자가 아니라 자신감 있는 프로그래머로 성장할 수 있을 것이며, 무엇보다 이 과정이 즐거운 기억으로 남게 될 것이다. 이 책의 주요 내용 - 명령줄에서 파이썬 프로그램 작성하기 - 파이썬의 데이터 구조 처리하기 - 무작위성 사용 및 제어하기 - 프로그램 및 함수용 테스트 코드 작성과 실행하기 - 각 프로젝트를 위한 테스트 툴 다운로드하기 이 책의 대상 독자 - 자신의 프로그래밍 실력을 한 단계 더 끌어올리고 싶은 분 - 다른 언어를 접한 경험은 있지만 파이썬 언어는 처음인 분 |