The Python 3 Standard Library by Example (예제로 배우는 파이썬 표준 라이브러리)

The Python 3 Standard Library by Example (예제로 배우는 파이썬 표준 라이브러리)

$70.25
Description
웹과 인공지능 분야에서 파이썬의 활약이 대단하다. 파이썬의 수많은 기능에 앞서 이 책은 언어 자체의 가장 기본인 표준 라이브러리에 중점을 두고 있다. 표준 라이브러리는 한 권의 책에 모두 담을 수 없을 만큼 방대하기 때문에 반드시 필요한 내용만 담았다. 레퍼런스 수준으로 정리했으며 필요한 분야만 읽을 수 있도록 구성했다. 파이썬 초보자부터 고급 개발자 또는 취미 개발자도 책상 위 표준 라이브러리 참고서로 한 권 두면 어떨까 싶다.
저자

더그헬먼

(DougHellmann)
현재레드햇(RadHat)소속이며오픈스택관련일을하고있다.오픈스택기술위원회와프로젝트에수많은기여를했다.1.4버전부터파이썬프로그래밍을해왔고수많은유닉스와비유닉스플랫폼경험이있다.각프로젝트는매핑,의료뉴스출판,은행,데이터센터자동화등을다뤘다.파이썬소프트웨어파운데이션의멤버이며2010년부터2012년까지커뮤니티디렉터로일했다.〈파이썬매거진(PythonMagazine)〉에서몇년간정규칼럼니스트로일한후2008년에서2009년까지편집장을역임했다.
2007부터2011년사이자신의블로그에인기있는〈이주의파이썬모듈(PythonModuleoftheWeek)〉시리즈를공개했으며,이책의전판인파이썬2를다룬『ThePythonStandardLibrarybyExample한국어판』(에이콘,2012)을저술했다.현재조지아의에덴스에살고있다.

목차

1장텍스트
1.1string:텍스트상수와템플릿
1.2textwrap:텍스트문단포매팅
1.3re:정규표현식
1.4difflib:시퀀스비교

2장자료구조
2.1enum:열거타입
2.2컬렉션:컨테이너데이터타입
2.3array:연속된고정타입자료
2.4heapq:힙정렬알고리즘
2.5bisect:리스트를정렬된상태로유지
2.6queue:스레드안전한FIFO구현
2.7struct:바이너리자료구조
2.8weakref:객체에대한임시참조
2.9copy:객체복사
2.10pprint:자료구조를보기좋게출력

3장알고리즘
3.1functools:함수를다루기위한도구
3.2itertools:반복자함수
3.3operator:내장연산자에대한함수형인터페이스
3.4contextlib:콘텍스트매니저유틸리티

4장날짜와시간
4.1time:시간
4.2datetime:날짜와시간값다루기
4.3calendar:날짜관련작업

5장수학계산
5.1decimal:고정,부동소수점계산
5.2fractions:유리수
5.3random:의사난수생성기
5.4math:수학함수
5.5statistics:통계연산

6장파일시스템
6.1os.path:플랫폼독립적파일명관리
6.2pathlib:객체로서의파일시스템경로
6.3glob:파일명패턴매칭
6.4fnmatch:유닉스스타일Glob패턴매칭
6.5linecache:텍스트파일효율적으로읽기
6.6tempfile:임시파일시스템객체
6.7shutil:고수준파일작업
6.8filecmp:파일비교
6.9mmap:메모리맵파일
6.10codecs:문자열인코딩과디코딩
6.11io:텍스트와바이너리,Raw스트림입출력도구

7장데이터보존과교환
7.1pickle:객체직렬화
7.2shelve:객체보존
7.3dbm:유닉스키-값데이터베이스
7.4sqlite3:임베디드관계형데이터베이스
7.5xml.etree.ElementTree:XML조작API
7.6csv:쉼표로구분한값파일

8장데이터압축과보관
8.1zlib:GNUzlib압축
8.2gzip:GNUzip파일읽고쓰기
8.3bz2:bzip2압축
8.4tarfile:Tar아카이브접근
8.5zipfile:ZIP아카이브접근

9장암호기법
9.1hashlib:암호화해싱
9.2hmac:암호메시지서명과검증

10장프로세스,스레드,코루틴을통한병렬작업
10.1subprocess:추가프로세스생성
10.2signal:비동기시스템이벤트
10.3threading:프로세스내에서병렬작업관리
10.4multiprocessing:프로세스를스레드처럼관리
10.5asyncio:비동기적I/O,이벤트루프,병렬작업도구
10.6concurrent.futures:병렬작업풀관리

11장네트워킹
11.1ipaddress:인터넷주소
11.2socket:네트워크통신
11.3selectors:I/O멀티플랙싱추상화
11.4select:효율적인I/O대기
11.5socketserver:네트워크서버생성

12장인터넷
12.1urllib.parse:URL을컴포넌트로나눔
12.2urllib.request:네트워크리소스액세스
12.3urllib.robotparser:인터넷스파이더접근컨트롤
12.4base64:바이너리데이터를아스키로인코드
12.5http.server:웹서비스구현을위한베이스클래스
12.6http.cookies:HTTP쿠키
12.7webbrowser:웹페이지보여주기
12.8uuid:보편적인고유식별자
12.9json:자바스크립트객체표기법
12.10xmlrpc.client:XML-RPC용클라이언트라이브러리
12.11xmlrpc.server:XML-RPC서버

13장이메일
13.1smtplib:단순메일전송프로토콜클라이언트
13.2smtpd:메일서버구현
13.3mailbox:이메일아카이브관리
13.4imaplib:IMAP4클라이언트라이브러리

14장애플리케이션빌딩블록
14.1argparse:커맨드라인옵션과인자파싱
14.2getopt:커맨드라인옵션파싱
14.3readline:GNUreadline라이브러리
14.4getpass:보안패스워드프롬프트
14.5cmd:줄단위명령프로세서
14.6shlex:셸스타일구문파싱
14.7configparser:구성파일작업
14.8logging:상태,에러,정보메시지보고
14.9fileinput:커맨드라인필터프레임워크
14.10atexit:프로그램종료콜백
14.11sched:이벤트스케줄러

15장국제화와지역화
15.1gettext:메시지카탈로그
15.2locale:문화지역화API

16장개발자도구
16.1pydoc:모듈의온라인도움말
16.2doctest:문서를통한테스트
16.3unittest:자동화된테스팅프레임워크
16.4trace:프로그램의흐름추적
16.5traceback:예외와스택추적
16.6cgitb:상세한트레이스백보고서
16.7pdb:대화형디버거
16.8profile과pstats:성능분석
16.9timeit:파이썬코드의실행시간측정
16.10tabnanny:들여쓰기검증
16.11compileall:소스파일바이트컴파일
16.12pyclbr:클래스브라우저
16.13venv:가상환경
16.14ensurepip:파이썬패키지인스톨러설치

17장런타임기능
17.1site:사이트구성
17.2sys:시스템종속적인구성
17.3os:운영체제종속적인기능의액세스
17.4platform:시스템버전정보
17.5resource:시스템리소스관리
17.6gc:가비지컬렉터
17.7sysconfig:인터프리터컴파일타임구성

18장언어도구
18.1warnings:치명적이지않은경고
18.2abc:추상베이스클래스
18.3dis:파이썬바이트코드역어셈블러
18.4inspect:라이브객체검사

19장모듈과패키지
19.1importlib:파이썬의임포트메커니즘
19.2pkgutil:패키지유틸리티
19.3zipimport:ZIP아카이브에서파이썬코드로드

부록A포팅노트
A.1참조
A.2새모듈
A.3이름이바뀐모듈
A.4제거된모듈
A.5더이상사용하지않게된모듈
A.6모듈변경사항요약

부록B표준라이브러리확장
B.1텍스트
B.2알고리즘
B.3날짜와시간
B.4수학함수
B.5데이터영속성과교환
B.6암호화
B.7프로세스와스레드,코루틴과함께하는동시성
B.8인터넷
B.9이메일
B.10애플리케이션빌딩블록
B.11개발도구

출판사 서평

★이책에서다루는내용★

■string,textwrap,re(정규표현식),difflib를이용한텍스트다루기
■자료구조사용:열거형,컬렉션,배열,heapq,큐,struct,copy등
■functools와itertools,contextlib를이용한매끄럽고정확한알고리즘구현
■날짜/시간및고급수학작업다루기
■데이터저장과압축
■json과dbm,sqlite를포함하는데이터교환과지속성이해
■암호화를사용한메시지사인과검증
■프로세스와스레드에대한동시성작업관리
■테스트와디버그,컴파일,프로파일,언어,임포트,패키지도구
■인터프리터를사용한실시간상호작용또는환경조절

★이책의대상독자★

중급수준의파이썬프로그래머를위해구성됐다.대부분의소스코드는검증을거쳤고,일부코드의경우에만줄별로설명한다.
모든절은각모듈의기능에초점을맞추며,소스코드와결과를통해완벽한독립예제프로그램으로설명된다.각기능은최대한간략하게작성돼독자는여타지원코드에집중력이흐트러지는일없이모듈이나함수에집중할수있을것이다.
다른언어에경험이많은프로그래머도이책을통해파이썬을배울수있지만,파이썬언어를소개하고자기획하지는않았다.파이썬프로그래밍을코딩해본경험이조금있다면예제를공부할때유용할것이다.일부절에서는네트워크소켓프로그래밍이나hmac암호화같은특정도메인지식을요구할것이다.
예제를설명하는기본정보는책속에있지만표준라이브러리에있는모듈이담당하는주제의범위를모두다루기에는한권의책으로불가능하다.각모듈의말미에는추가정보와읽을거리에대한추천참고목록이있고,온라인리소스와RFC표준문서,관련서적을포함한다.

★이책의구성★

이책은종합레퍼런스가이드(http://docs.python.org참고)를보완하며,가이드에기술된기능을설명하고자완전한기능을하는예제프로그램을제공한다.모듈을모아각장을구성해참고하고자하는개별모듈을찾기쉽게했고,주제별로편하게탐색할수있게했다.드물지만처음부터끝까지이책을읽는독자를위해완벽하지는않지만아직다루지않은모듈의경우앞쪽내용에서참조할일은최소화시켰다.

★옮긴이의말★

처음이책의원서의엄청난페이지를보고놀랐던기억이난다.하지만그보다근거없는도전의식이불타올라번역을시작하게됐다.‘아무리페이지수가많아도파이썬인데뭐?’라는생각과함께.그런데이책을번역하는것보다내가직접쓰는게더좋지않을까하는생각이들정도로긴여정이되고말았다.그리고이제는파이썬앞에서겸손해졌다.
일부시각에서사실파이썬은언어자체가간결하지못한취미용언어정도로치부된측면도있다.하지만이책을번역하면서파이썬이이렇게방대한표준라이브러리를품고있었나놀랐다.과연모든라이브러리사용법을하나하나아는사람이있을까하는의구심도생겼다.이런레퍼런스류의책을비치하고있지않다면매번구글링을해야하지않을까라는생각도들었다.왜구글과같은큰기업을필두로빅데이터와인공지능에서파이썬이맹활약을할수있는지어느정도이해가됐다.

개인적으로6장을번역하면서배운점을활용해번역자체작업시간을줄여주는스크립트를작성했던점이참재미있었다.기존에는일일이텍스트를번역해야하는수작업이었는데,파이썬으로번역자동화프로세스를만들어보는재미를느꼈고작업시간도줄일수있었다.책은파이썬3를기본으로다루고있기때문에파이썬2는전혀고려하지않았다는것을양해바란다.

파이썬2가없어질것이라는이야기가나온지수년이지났지만아직도쓰이는것을보면파이썬3도앞으로10년이상은더쓰이지않을까라는생각도해본다.파이썬은매우쉽다는장점이있다.하지만이것이표준라이브러리를바로바로사용할수있다는뜻은아니다.라이브러리는그자체로또다시배워야하는과정이필요하다.다만독자여러분께드리고싶은말은모든내용을읽어보고기억하면서공부할책이아니므로겁먹을필요는없다는것이다.레퍼런스책이기때문에필요한부분만빨리찾아서밑줄그어가며실무에당장적용해보면된다.본인이필요한부분만하나씩공부하다보면어느날모인내용만다시정리해도어마어마한분량이될것이다.파이썬의기본라이브러리에대한설명을부족하게나마무리없이옮겨적었기를바라며독자들의건투를빈다.

권석기