HOME > 상세정보

상세정보

예제로 배우는 파이썬 표준 라이브러리 (25회 대출)

자료유형
단행본
개인저자
Hellmann, Doug 정승원, 역
서명 / 저자사항
예제로 배우는 파이썬 표준 라이브러리 / 더그 헬먼 지음 ; 정승원 옮김
발행사항
의왕 :   에이콘,   2012  
형태사항
1341 p. ; 25 cm
원표제
(The) Python standard library by example
ISBN
9788960773103
일반주기
색인수록  
일반주제명
Python (Computer program language)
000 00000cam c2200205 c 4500
001 000045827135
005 20150310140933
007 ta
008 150309s2012 ggk 001c kor
020 ▼a 9788960773103 ▼g 93560
035 ▼a (KERIS)BIB000012796263
040 ▼a 211009 ▼c 211009 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.13/3 ▼2 23
085 ▼a 005.133 ▼2 DDCK
090 ▼a 005.133 ▼b P999 2012z3
100 1 ▼a Hellmann, Doug
245 1 0 ▼a 예제로 배우는 파이썬 표준 라이브러리 / ▼d 더그 헬먼 지음 ; ▼e 정승원 옮김
246 1 9 ▼a (The) Python standard library by example
246 3 0 ▼a 파이썬 표준 라이브러리
260 ▼a 의왕 : ▼b 에이콘, ▼c 2012
300 ▼a 1341 p. ; ▼c 25 cm
500 ▼a 색인수록
650 0 ▼a Python (Computer program language)
700 1 ▼a 정승원, ▼e
900 1 0 ▼a 헬먼, 더그, ▼e
945 ▼a KLPA

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.133 P999 2012z3 등록번호 121232409 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

파이썬이 진정으로 강력하고 효율적인 도구로 쓰이는 비밀은 바로 표준 라이브러리에 숨어 있다. 개발자는 미리 구현되어 모듈 형태로 제공되는 수많은 기능을 필요에 따라 가져다 사용하기만 하면 된다. 이 책은 가장 빈번히 사용되는 모듈을 모아 예제를 통해 그 사용법을 보여준다. 단순히 기능과 사용법만을 열거한 문서만으로 이해하기 어려운 부분을 예제를 통해 쉽게 익힐 수 있다.

예제 코드로 마스터하는 강력한 파이썬 표준 라이브러리

파이썬 표준 라이브러리는 운영체제, 인터프리터, 인터넷과 상호작용하는 수백 가지 모듈을 제공한다. 모든 모듈은 테스팅이 완료돼 애플리케이션 개발에 당장 가져다 사용할 수 있다.

『The Python Standard Library by Example 한국어판』은 파이썬 2.7의 중요 영역을 쉽게 배우고 재사용할 수 있도록 간결한 코드와 실행 결과를 제공한다.

파이썬 전문가인 더그 헬먼은 인기 블로그 '이 주의 파이썬 모듈(Python Module of the Week)'에 글을 기고하며 내용을 '설명하기'보다는 '보여주는' 데 초점을 맞췄다. 그는 특정 기능을 완벽히 소화하는 다운로드 가능한 예제를 통해 코드의 동작을 설명한다.

이 책에서 텍스트, 자료형, 알고리즘, 수학 계산, 파일 시스템, 네트워크, 인터넷, XML, 이메일, 암호화, 화폐 단위, 런타임과 언어 서비스 등 현실적인 코드를 볼 수 있다. 모든 절은 각기 하나의 모듈을 다루고, 가치 있는 부가 자료로 연결시켜 이 책을 이상적인 참고 자료가 될 수 있게 한다.

파이썬에 입문하려 한다면, 이 책으로 완전히 새로운 기능의 세계로 가는 길을 찾을 수 있다. 파이썬을 사용해본 적이 있다면 지금까지 사용했던 것보다 더 강력하고 좋은 방법을 발견할 수 있다.


★ 이 책에서 다루는 내용 ★

■ string, textwrap, re, difflib를 이용한 텍스트 다루기
■ 자료 구조 구현: collections, array, queue, struct, copy 등
■ 파일과 디렉토리의 읽고 쓰고, 조작
■ 정규 표현식 패턴 매칭
■ 데이터 교환과 지속성 부여
■ 데이터 저장과 압축
■ 프로세스와 스레드 관리
■ 애플리케이션 '빌딩 블록' 사용: 커맨드라인 옵션 파싱, 안전한 암호 입력, 이벤트 스케줄링, 로깅
■ 테스팅, 디버깅, 컴파일
■ 런타임 환경설정 조절
■ 모듈과 패키지 도구 사용


★ 이 책의 대상 독자 ★

이 책은 중급 파이썬 프로그래머를 대상으로 한다. 예제에서 다루는 모든 코드가 본문에 포함돼 있지만, 소스코드를 한 줄씩 설명하는 부분은 많지 않다. 모든 내용은 소스코드와 예제 프로그램의 실행 결과를 통해 모듈의 기능을 설명하는 데 초점이 맞춰져 있다. 가급적 모듈의 기능에만 집중해서 독자가 불필요한 코드를 이해하는 데 시간을 낭비하지 않게 했다.

아직 파이썬에 익숙하지 않은 프로그래머도 이 책을 통해 파이썬을 배울 수 있겠지만, 파이썬 입문서로 의도하고 집필하지는 않았다. 다만 파이썬 프로그램을 작성해본 경험이 있다면 책에 나오는 예제를 공부하는 데 많은 도움이 될 것이다.

소켓을 사용한 네트워크 프로그램, hmac 암호화 등을 설명하는 장을 읽으려면 해당 분야의 지식이 필요하다. 예제 프로그램을 설명하기 위한 기본 정보는 담았지만, 파이썬 모듈이 다루는 영역이 매우 방대하기 때문에 관련 정보를 이 책에 모두 설명하기는 불가능하다. 각 모듈에 대한 설명이 끝나면 더 깊이 배우고 싶은 독자를 위해 온라인 자료, RFC 표준 문서, 관련 서적 등 참고자료 목록이 나온다.

현재 파이썬 3로 이전이 순조롭게 진행되고 있지만 워낙 파이썬 2를 사용해 진행된 프로젝트가 많아 향후 몇 년간은 파이썬 2가 기본으로 사용될 가능성이 높다. 모든 예제 코드는 온라인 원본 코드에서 업데이트됐고 2.x 버전의 최종판인 파이썬 2.7에서 테스트했다. 파이썬 3에서 바로 사용할 수 있는 예제도 많지만, 이름이 바뀌거나 더 이상 지원되지 않는 모듈도 있다.
★ 이 책의 구성 ★

모듈을 개별적으로 찾기 쉽고 주제별로 쉽게 둘러볼 수 있게 모아서 각 장을 구성했다. 이 책에 미처 다루지 못한 내용은 http://docs.python.org에서 온라인 가이드로 제공한다. 또한 온라인 가이드에 나오는 내용을 설명하는 예제 프로그램도 함께 제공한다.


★ 추천의 글 ★

2010년 추수감사절에 이 글을 쓰고 있습니다. 사실 많은 사람에게 이 날은 그저 집에서 맛있는 음식을 먹고 스포츠 중계를 보거나 친구들과 노는 날 정도일 것입니다.

하지만 저는 이 날이면 과거를 회상하며 우리의 삶을 풍요롭게 해준 것을 생각하고 그들에 감사하며 시간을 보냅니다. 물론 이런 일은 매일 해야 하는 것이지만, 특별한 날 하루를 정해 감사하는 마음을 전한다면 더 의미가 있지 않을까요?

우선 저에게 이 책의 추천사를 쓰는 기회를 주신 데 감사합니다. 단지 이 책의 내용이나 저자에게 감사의 뜻을 전하기보다는 파이썬과 표준 라이브러리에 더욱 감사를 표하고 싶습니다.

새롭게 출시되는 모든 버전의 파이썬은 수년간 축적된 개발자들의 노력에 힘입어 수백 가지 모듈을 탑재했습니다. 이메일을 주고받는 모듈부터 GUI 개발, 빌트인 HTTP 서버에 이르는 기능을 모듈로 구현해놓은 것이죠. 표준 라이브러리의 규모는 상당히 방대합니다. 수년에 걸쳐 패치를 작성하고 문서를 만들어낸 수백 명의 노력이 없었다면 불가능했을 것입니다.

이런 성과는 파이썬이 현재의 인기를 얻는 데 크게 기여했습니다. 무엇보다도 '건전지 포함(batteries included)'이란 모토를 표방하는 표준 라이브러리가 있었기에 가능한 일입니다. 파이썬은 지금까지 수많은 사람이 다운로드했고 헤아릴 수 없이 많은 컴퓨터와 서버에 설치됐습니다.

언어를 배우고 가르치거나 가독성의 측면에서 본다면 파이썬은 표준 라이브러리 없이도 충분히 훌륭한 언어입니다. 하지만 표준 라이브러리로 인해 파이썬은 단순히 흥미로운 언어가 아닌 강력하고 효율적인 도구가 될 수 있었습니다.

전 세계의 개발자들은 오늘도 언어와 표준 라이브러리만을 사용해 애플리케이션을 만들고 있습니다. 언어를 자동차에 비유하자면 '이동'이라는 자동차의 기본적인 기능에 자신에게 필요한 여러 도구와 부품을 이용해 자신만의 차를 만들어낸 것입니다. 이 자동차가 완벽하지는 않을지도 모르지만 원하는 장소까지 당신을 이동시켜주는 기능은 훌륭히 수행합니다. 지금까지 저에게 자랑스러운 얼굴로 다가와 이렇게 말하는 많은 사람을 만났습니다. '파이썬만 가지고 제가 뭘 만들어냈는지 보세요!'

하지만 표준 라이브러리에도 단점이 있습니다. 너무 커다란 몸집과 오랜 개발 기간으로 인해 모듈 간에는 질적인 차이가 있습니다. 일부 모듈은 '기능 추가(feature creep)' 문제를 겪기도 하며, 기술의 발전 속도를 따라잡지 못하는 모습을 보이기도 합니다. 하지만 파이썬은 많은 사람의 자발적 참여로 꾸준히 진화 중입니다.

표준 라이브러리가 계속 발전 중이지만, 앞서 말한 단점이 있고 모듈이 언제나 최선의 해결책을 제시하는 것은 아니기 때문에 없어져야 한다고 주장하는 사람도 있습니다. 전 이 사람들이 중요한 사실을 간과하고 있다고 생각합니다. 표준 라이브러리는 파이썬이 인기를 얻고 발전하는 데 중요한 역할을 했고, 완벽하진 않아도 여전히 훌륭하다는 점입니다.

저도 한 가지 중요한 사실을 잊고 있었습니다. 바로 문서의 중요성입니다. 표준 라이브러리 문서는 잘 정리돼 있고 지금도 계속 발전 중입니다. 표준 라이브러리의 규모를 생각해본다면 이 문서화가 얼마나 뛰어난 것인지 알 수 있습니다. 복잡한 소프트웨어를 개발하는 수많은 사람은 오늘도 개발자와 사용자 집단이 생성한 수백 페이지의 문서를 통해 도움을 얻고 있습니다.

우리가 여기에 모여 있는 이유도 바로 문서화 때문입니다. 모든 훌륭한 문서는 간단한 아이디어에서 시작합니다. 아이디어가 발전해 스토리(모듈)가 되고 캐릭터(API)가 되는 것입니다. 코딩 작업을 예로 들어 보겠습니다. 간단한 아이디어가 떠오릅니다. '문자열을 파싱해서 날짜 정보를 알아내고 싶다.' 하지만 작업이 끝날 무렵이면 수많은 유닛 테스트와 함수를 보며 처음 예상보다 훨씬 커다란 걸 만들어냈다는 사실을 깨닫게 됩니다. 문서에도 이 법칙이 똑같이 적용됩니다. 특히 코드를 문서화하는 경우에 그렇습니다.

코드를 문서화할 때 가장 중요한 것은 예제입니다. 책 전반에 걸쳐 API의 기능을 하나씩 묘사할 수도 있고, 인터페이스 간의 관계에 대해 열심히 설명할 수도 있습니다. 하지만 이를 처음 접하는 독자가 이들 간의 관계를 이해하지 못해 자기 문제를 푸는 데 도움이 되지 못했다면 이는 완전히 실패한 문서라고 봐야 합니다.

추상적인 개념을 바로 이해할 수 있게 도와주는 것이 바로 예제입니다. 아이디어와 API를 '안다는' 것과 이것들이 실제로 '사용되는 것을 보는' 것에는 큰 차이가 있습니다. 무언가를 배울 때뿐 아니라 이미 존재하는 것을 발전시키고자 할 때 바로 예제가 도움이 됩니다.

파이썬 이야기로 돌아와서 이 책의 저자인 더그 헬먼(Doug Hellmann)은 2007년 '이 주의 파이썬 모듈(Python Module of the Week)'이란 블로그를 열고 표준 라이브러리 모듈이 어떻게 동작하는지, 왜 필요한지에 대해 예제를 통해 알려주는 블로깅을 시작했습니다. 저는 이 블로그를 처음 접한 날 바로 더그의 팬이 됐습니다. 그리고 이제 더그의 블로그는 저와 파이썬 커뮤니티 사람들이 필수적으로 참고해야 하는 자료로 평가받습니다.

더그의 글은 예제가 부족한 파이썬 공식 문서의 단점을 잘 보완해줍니다. 무언가가 어떻게 그리고 왜 동작하는지 보여주는 것은 쉬운 일이 아닙니다. 그리고 앞서 살펴본 대로 이 결과물은 많은 사람에게 매일 도움을 줍니다. 저는 "더그의 이번 포스팅을 보셨나요? 정말 훌륭해요!" "왜 파이썬 공식 문서에 이 글이 포함되지 않는 거죠? 제가 이해하는 데 많은 도움이 됐어요."라는 내용의 메일을 자주 받습니다.

더그가 그동안 써온 글에 살을 붙여 책으로 출간한다는 이야기를 들었을 때의 제 기분은 단순히 흥분된다는 정도로는 표현하기 어렵습니다. 그는 세세한 부분까지 놓치지 않는 눈을 지닌 뛰어난 저자이기 때문이죠. 예제에 집중해 수백 가지의 표준 라이브러리를 설명한 책이 나온다니, 한시라도 빨리 책을 보고 싶었습니다.

보시다시피 전 파이썬에 늘 감사합니다. 표준 라이브러리에도 감사합니다. 그리고 활기 넘치고 거대하지만 때로 역기능도 하는 우리 커뮤니티에도 고마운 마음이 듭니다. 파이썬이 발전하는 데 힘써주신 과거와 현재 그리고 미래의 개발자들에게도 감사를 표합니다. 그리고 파이썬 생태계와 커뮤니티가 지금처럼 멋진 모습일 수 있도록 노력을 기울여 주신 모든 분께 감사합니다.

마지막으로 이 책에 감사의 마음을 표합니다. 꾸준히 사랑받는 책이 되리라 믿어 의심치 않습니다.

- 제시 놀러(Jesse Noller)
파이썬 핵심 개발자, PSF 이사회 회원
나스미(Nasumi) 사의 책임 엔지니어


★ 저자의 말 ★

배포되는 모든 버전의 파이썬은 운영체제, 인터프리터, 인터넷과 상호작용할 수 있는 수백 가지 모듈을 제공한다. 그리고 이 모듈은 이미 테스트를 마쳤기 때문에 애플리케이션을 작성할 때 바로 가져다 사용할 수 있다. 이 책은 그 모듈 중에서도 파이썬의 '건전지 포함(batteries included)' 슬로건에 가장 어울리고 가장 빈번히 사용되는 몇 가지를 골라 예제와 사용법을 설명한다. 책의 내용은 인기 블로그 '이 주의 파이썬 모듈(PyMOTW, Python Module of the Week)'에서 선별했다.

★ 옮긴이의 말 ★

파이썬 언어를 처음 접한 건 프로젝트 오일러(www.projecteuler.net)라는 온라인 알고리즘 문제풀이 사이트를 통해서였습니다. 이 사이트가 제시하는 문제의 답을 구하기 위해 어떤 언어를 사용해도 상관없지만, 주로 사용하던 언어인 C++에 비해 훨씬 간결하게 생각을 코드로 옮길 수 있는 파이썬이 매력적으로 느껴졌기 때문입니다. 이 언어에 익숙해진 이후 개인적으로 프로그램을 작성할 일이 있을 때면 주로 파이썬을 사용했습니다. 그리고 매번 '이 기능은 이미 제공되지 않을까'란 생각으로 구글링해보면 어김없이 제 의도와 일치하는 모듈을 발견해 그때마다 놀랐던 기억이 납니다.

파이썬 언어의 모토는 '건전지 포함(batteries included)'입니다. 마트에서 손전등을 구입하고 막상 사용하려는 데 건전지가 없다면 난감하겠지요. 이런 일은 파이썬에서는 절대 일어나지 않습니다. 표준 라이브러리라는 건전지가 이미 들어 있기 때문입니다. 개발자는 자기가 필요한 모듈을 가져다가 사용하기만 하면 됩니다. 자동차를 만들기 위해서 바퀴나 엔진부터 일일이 만들어야 할 이유가 없습니다. 적어도 파이썬은 그런 용도의 언어는 아닙니다.

이 책 『The Python Standard Library by Example 한국어판』은 가장 빈번히 사용되는 모듈을 모아 예제를 통해 그 사용법을 보여줍니다. 파이썬 공식 문서에서 가장 아쉬운 부분인 예제가 추가돼 그 모듈이 어떻게 동작하는지, 왜 사용하는지에 대한 의문을 좀 더 쉽게 해결할 수 있습니다. 특히 분야별로 정리돼 있으므로 개발 중인 애플리케이션에 필요한 부분만 발췌해 읽는다면 더 효율적일 거라 생각합니다.


정보제공 : Aladin

저자소개

더그 헬먼(지은이)

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

정승원(옮긴이)

남들이 즐기는 무언가를 만들고 싶다는 로망을 따라 게임 업계에 입문했으며, 현재는 투케이 스포츠(2K Sports)에서 소프트웨어 엔지니어로 일하고 있다. 글쓰길 좋아해 얼떨결에 번역자가 되었으나 언젠가는 역자가 아닌 저자가 되려고 호시탐탐 기회를 노리고 있다. 취미로는 사진을 찍는다.

정보제공 : Aladin

목차

추천의 글 = 5 
저자 소개 = 8 
감사의 글 = 9 
옮긴이 소개 = 10 
옮긴이의 말 = 11 
들어가며 = 38 
1장 텍스트 = 41 
1.1 string: 텍스트 상수와 템플릿 = 42 
1.1.1 함수 = 42 
1.1.2 템플릿 = 43 
1.1.3 템플릿 고급 = 45 
1.2 textwrap: 서식과 단락 = 47 
1.2.1 예제 데이터 = 47 
1.2.2 단락 채우기 = 48 
1.2.3 들여쓰기 없애기 = 48 
1.2.4 Dedent와 Fill을 함께 사용 = 49 
1.2.5 이어지는 들여쓰기 = 50 
1.3 re: 정규표현식 = 51 
1.3.1 텍스트에서 패턴 찾기 = 52 
1.3.2 표현식 컴파일 = 53 
1.3.3 다중 매칭 = 54 
1.3.4 패턴 문법 = 55 
1.3.5 검색 범위 제한 = 66 
1.3.6 그룹을 이용한 매칭 분리 = 68 
1.3.7 검색 옵션 = 75 
1.3.8 전방 탐색과 후방 탐색 = 83 
1.3.9 자기 참조 표현식 = 88 
1.3.10 패턴을 이용한 문자열 수정 = 94 
1.3.11 패턴을 이용한 문자열 분리 = 96 
1.4 difflib: 시퀀스 비교 = 99 
1.4.1 텍스트 몸통 비교 = 100 
1.4.2 쓰레기 데이터 = 103 
1.4.3 Arbitrary 타입 비교 = 104 
2장 자료 구조 = 107 
2.1 collections: 컨테이너 자료형 = 108 
2.1.1 Counter = 108 
2.1.2 defaultdict = 112 
2.1.3 Deque = 113 
2.1.4 OrderedDict = 120 
2.2 array: 연속된 고정 타입 자료 = 122 
2.2.1 초기화 = 123 
2.2.2 arrary 다루기 = 123 
2.2.3 Array와 파일 = 124 
2.2.4 바이트 순서 변경 = 125 
2.3 heapq: 힙 정렬 알고리즘 = 126 
2.3.1 예제 데이터 = 126 
2.3.2 힙 생성 = 127 
2.3.3 힙 내부 자료에 접근 = 129 
2.3.4 힙 속의 최댓값최솟값 찾기 = 131 
2.4 bisect: 리스트를 정렬된 상태로 유지 = 132 
2.4.1 정렬된 상태로 아이템 추가 = 132 
2.4.2 중복 값 처리 = 133 
2.5 Queue: 스레드 환경에서 안전한 FIFO 구현 = 135 
2.5.1 FIFO 큐 = 135 
2.5.2 LIFO 큐 = 136 
2.5.3 우선순위 큐 = 136 
2.5.4 스레드를 활용한 팟캐스트 클라이언트 = 138 
2.6 struct: 바이너리 자료 구조 = 140 
2.6.1 함수와 Struct 클래스 = 141 
2.6.2 팩킹과 언팩킹 = 141 
2.6.3 엔디안 = 142 
2.6.4 버퍼 = 144 
2.7 weakref: 객체에 대한 임시 레퍼런스 = 145 
2.7.1 참조 = 146 
2.7.2 참조 콜백 = 146 
2.7.3 프록시 = 147 
2.7.4 원형 참조 = 148 
2.7.5 객체 캐싱 = 153 
2.8 copy: 객체 복사 = 156 
2.8.1 얕은 복사 = 156 
2.8.2 깊은 복사 = 157 
2.8.3 복사 방식 조절 = 159 
2.8.4 깊은 복사의 재귀 = 159 
2.9 pprint: 자료 구조를 보기 좋게 출력 = 162 
2.9.1 출력 = 162 
2.9.2 포매팅 = 163 
2.9.3 임의 클래스 = 164 
2.9.4 재귀 = 164 
2.9.5 중첩 출력 제한 = 165 
2.9.6 출력 너비 조절 = 165 
3장 알고리즘 = 167 
3.1 functools: 함수를 다루기 위한 도구 = 168 
3.1.1 데코레이터 = 168 
3.1.2 비교 = 176 
3.2 itertools: 이터레이터 함수 = 180 
3.2.1 이터레이터 나누기와 합치기 = 180 
3.2.2.입력값 변환 = 183 
3.2.3 새로운 값 생성 = 184 
3.2.4 필터링 = 187 
3.2.5 자료 그룹핑 = 189 
3.3 operator: 내장 연산자에 대한 함수형 인터페이스 = 192 
3.3.1 논리 연산 = 192 
3.3.2 비교 연산자 = 193 
3.3.3 산술 연산자 = 193 
3.3.4 시퀀스 연산자 = 195 
3.3.5 인플레이스 연산자 = 197 
3.3.6 속성과 아이템 ''게터'' = 198 
3.3.7 연산자와 커스텀 클래스 = 199 
3.3.8 타입 체크 = 200 
3.4 contextlib: 컨텍스트 매니저 유틸리티 = 202 
3.4.1 컨텍스트 매니저 API = 202 
3.4.2 제너레이터를 컨텍스트 매니저로 변환 = 205 
3.4.3 중첩 컨텍스트 = 206 
3.4.4 핸들 닫기 = 208 
4장 날짜와 시간 = 211 
4.1 time: 시간 = 211 
4.1.1 시간 = 212 
4.1.2 프로세서 시간 = 212 
4.1.3 Time 컴포넌트 = 214 
4.1.4 표준 시간대 = 215 
4.1.5 시간 파싱과 서식화 = 217 
4.2 datetime: 날짜와 시간 값 다루기 = 218 
4.2.1 시간 = 219 
4.2.2 날짜 = 220 
4.2.3 타임 델타 = 223 
4.2.4 날짜 산술 연산 = 224 
4.2.5 값 비교 = 225 
4.2.6 날짜와 시간 합치기 = 226 
4.2.7 서식화와 파싱 = 227 
4.2.8 표준 시간대 = 228 
4.3 calendar: 날짜 관련 작업 = 229 
4.3.1 서식화와 예제 = 229 
4.3.2 날짜 계산 = 232 
5장 수학 계산 = 235 
5.1 decimal: 고정, 부동소수점 = 235 
5.1.1 십진 연산 = 236 
5.1.2 산술 연산 = 237 
5.1.3 특수한 값 = 239 
5.1.4 컨텍스트 = 239 
5.2 fractions: 유리수 = 245 
5.2.1 Fraction 인스턴스 생성 = 246 
5.2.2 산술 연산 = 248 
5.2.3 근사 값 = 248 
5.3 random: 의사 난수 생성기 = 249 
5.3.1 난수 생성 = 250 
5.3.2 시딩 = 251 
5.3.3 상태 저장 = 251 
5.3.4 임의 정수 = 253 
5.3.5 임의의 아이템 선택 = 254 
5.3.6 순열 = 254 
5.3.7 샘플링 = 256 
5.3.8 동시에 여러 생성기 사용 = 257 
5.3.9 SystemRandom = 259 
5.3.10 비균일 분포 = 260 
5.4 math: 수학 함수 = 262 
5.4.1 특별 상수 = 262 
5.4.2 예외 값 테스트 = 262 
5.4.3 정수로 변환 = 264 
5.4.4 대체 표현식 = 265 
5.4.5 양수와 음수 부호 = 267 
5.4.6 일반적으로 사용하는 계산 = 268 
5.4.7 지수와 로그 = 272 
5.4.8 각도 = 276 
5.4.9 삼각법 = 278 
5.4.10 쌍곡선 함수 = 281 
5.4.11 특수함수 = 282 
6장 파일 시스템 = 285 
6.1 os.path: 플랫폼 독립적 파일 이름 관리 = 286 
6.1.1 경로파싱 = 286 
6.1.2 경로 생성 = 290 
6.1.3 경로 정규화 = 291 
6.1.4 파일 시간 = 292 
6.1.5 파일 확인 = 293 
6.1.6 디렉토리 순환 = 294 
6.2.1 예제 데이터 = 296 
6.2 glob: 파일 이름 패턴 매칭 = 286 
6.2.2 와일드카드 = 296 
6.2.3 단일 문자 와일드카드 = 298 
6.2.4 문자 범위 = 298 
6.3 linecache: 텍스트 파일 효율적으로 읽기 = 299 
6.3.1 테스트 데이터 = 299 
6.3.2 특정 줄 읽기 = 300 
6.3.3 빈 줄 처리 = 301 
6.3.4 에러 처리 = 301 
6.3.5 파이썬 소스 파일 읽기 = 302 
6.4 tempfile: 임시 파일 시스템 객체 = 303 
6.4.1 임시 파일 = 304 
6.4.2 이름 있는 파일 = 306 
6.4.3 임시 디렉토리 = 307 
6.4.4 이름 예측 = 307 
6.4.5 임시 파일 위치 = 308 
6.5 shutil: 고수준 파일 작업 = 309 
6.5.1 파일 복사 = 309 
6.5.2 파일 메타 데이터 복사 = 312 
6.5.3 디렉토리 트리 작업 = 314 
6.6 mmap: Memory-Map 파일 = 322 
6.6.1 읽기 = 318 
6.6.2 쓰기 = 319 
6.6.3 정규표현식 = 321 
6.7 codecs: 문자열 인코딩, 디코딩 = 352 
6.7.1 유니코드 기초 = 322 
6.7.2 파일 작업 = 325 
6.7.3 바이트 순서 = 327 
6.7.4 에러 처리 = 330 
6.7.5 표준 입출력 스트림 = 334 
6.7.6 인코딩 번역 = 337 
6.7.7 비유니코드 인코딩 = 338 
6.7.8 증분 인코딩 = 340 
6.7.9 유니코드 데이터와 네트워크 통신 = 342 
6.7.10 사용자 정의 인코딩 = 345 
6.8 StringIO: 텍스트 버퍼와 파일 API = 352 
6.8.1 예제 = 352 
6.9 fnmatch: 유닉스 스타일 Glob 패턴 매칭 = 353 
6.9.1 간단한 매칭 = 354 
6.9.2 필터링 = 355 
6.9.3 패턴 번역 = 356 
6.10 dircache: 디렉토리 리스팅 캐시 = 357 
6.10.1 디렉토리 내용 리스팅 = 357 
6.10.2 Annotated 리스팅 = 359 
6.11 filecmp: 파일 비교 = 360 
6.11.1 예제 데이터 = 361 
6.11.2 파일 비교 = 363 
6.11.3 디렉토리 비교 = 365 
6.11.4 차이점을 프로그램에 사용 = 366 
7장 데이터 보존과 교환 = 371 
7.1 pickle: 객체 직렬화 = 372 
7.1.1 임포팅 = 373 
7.1.2 문자열 데이터 인코딩, 디코딩 = 373 
7.1.3 스트림 작업 = 374 
7.1.4 객체 재생성 시 문제점 = 376 
7.1.5 언피클 가능한 객체 = 378 
7.1.6 원형 참조 = 378 
7.2 shelve: 객체 보존 = 381 
7.2.1 새로운 셸브 생성 = 382 
7.2.2 다시 쓰기 = 383 
7.2.3 특정 셸브 = 384 
7.3 anydbm: DBM 스타일 데이터베이스 = 385 
7.3.1 데이터베이스 종류 = 385 
7.3.2 데이터베이스 생성 = 386 
7.3.3 기존 데이터베이스 열기 = 387 
7.3.4 에러 사례 = 388 
7.4 whichdb: DBM 스타일 데이터베이스 포맷 확인 = 389 
7.5 sqlite3: 임베디드 관계형 데이터베이스 = 390 
7.5.1 데이터베이스 생성 = 390 
7.5.2 데이터 추출 = 394 
7.5.3 쿼리 메타데이터 = 396 
7.5.4 열 객체 = 396 
7.5.5 쿼리에서 변수 사용 = 998 
7.5.6 벌크 로딩 = 401 
7.5.7 새로운 열 타입 정의 = 402 
7.5.8 행의 타입 감지 = 405 
7.5.9 트랜잭션 = 407 
7.5.10 격리 수준 = 410 
7.5.11 인메모리 데이터베이스 = 415 
7.5.12 데이터베이스 내용 추출 = 415 
7.5.13 SQL에 파이썬 함수사용 = 417 
7.5.14 커스텀 집단화 = 419 
7.5.15 커스텀 정렬 = 420 
7.5.16 스레딩과 연결 공유 = 422 
7.5.17 데이터 접근 제한 = 423 
7.6 xml.etree.ElementTree: XML 생성 API = 426 
7.6.1 XML 문서 파싱 = 426 
7.6.2 파싱한 트리 순회 = 427 
7.6.3 문서에서 노드 찾기 = 429 
7.6.4 파싱한 노드 속성 = 430 
7.6.5 파싱 도중 이벤트 관찰 = 432 
7.6.6 커스텀 트리 빌더 생성 = 435 
7.6.7 문자열 파싱 = 437 
7.6.8 요소 노드로 문서 만들기 = 439 
7.6.9 보기 좋은 XML 출력 = 440 
7.6.10 요소 속성 설정 = 442 
7.6.11 노드 리스트에서 트리 생성 = 444 
7.6.12 XML을 스트림으로 직렬화 = 447 
7.7 csv: 쉼표로 구분한 값 파일 = 449 
7.7.1 읽기 = 450 
7.7.2 쓰기 = 451 
7.7.3 다이얼렉트 = 453 
7.7.4 필드 이름 사용 = 458 
8장 데이터 압축과 보관 = 461 
8.1 zlib: GNU zlib 압축 = 461 
8.1.1 메모리 내부의 데이터 작업 = 462 
8.1.2 증분 압축과 해제 = 463 
8.1.3 혼합 콘텐츠 스트림 = 464 
8.1.4 체크섬 = 465 
8.1.5 네트워크 데이터 압축 = 466 
8.2 gzip: GNU zip 파일 읽고 쓰기 = 470 
8.2.1 압축된 파일 쓰기4 = 471 
8.2.2 압축된 데이터 읽기 = 473 
8.2.3 스트림 작업 = 474 
8.3 bz2: bzip2 압축 = 476 
8.3.1 메모리 내에서 한 번에 작업 = 476 
8.3.2 증분 압축과 해제 = 478 
8.3.3 혼합 콘텐츠 스트림 = 479 
8.3.4 압축된 파일 쓰기 = 480 
8.3.5 압축된 데이터 읽기 = 482 
8.3.6 네트워크 데이터 압축 = 483 
8.4 tarfile: Tar 아카이브 접근 = 488 
8.4.1 Tar 파일 테스트 = 488 
8.4.2 아카이브에서 메타데이터 읽기 = 489 
8.4.3 아카이브에서 파일 추출 = 490 
8.4.4 새 아카이브 생성 = 493 
8.4.5 대안 아카이브 멤버 이름 사용 = 493 
8.4.6 파일이 아닌 소스로부터 데이터 쓰기 = 494 
8.4.7 아카이브 확장 = 495 
8.4.8 압축된 아카이브 작업 = 496 
8.5 zipfile: ZIP 아카이브 접근 = 497 
8.5.1 ZIP 파일 테스트 = 497 
8.5.2 아카이브에서 메타데이터 읽기 = 498 
8.5.3 아카이브에서 파일 추출 = 500 
8.5.4 새로운 아카이브 생성 = 500 
8.5.5 대안 아카이브 멤버 이름 사용 = 502 
8.5.6 파일이 아닌 소스로부터 데이터 쓰기 = 503 
8.5.7 Ziplnfo 인스턴스로 쓰기 = 503 
8.5.8 파일 확장 = 504 
8.5.9 파이썬 ZIP 아카이브 = 506 
8.5.10 제한 = 507 
9장 암호 작성법 = 509 
9.1 hashlib: 암호화 해싱 = 509 
9.1.1 샘플 데이터 = 510 
9.1.2 MD 5 예제 = 511 
9.1.3 SHA1 예제 = 511 
9.1.4 이름으로 해시 생성 = 511 
9.1.5 증분 업데이트 = 512 
9.2 hmac: 암호 메시지 사이닝과 검증 
9.2.1 메시지 사이닝 = 514 
9.2.2 SHA와 MD = 514 
9.2.3 이진 다이제스트 = 515 
9.2.4 메시지 시그니처 애플리케이션 = 516 
10장 프로세스와 스레드 = 521 
10.1 subprocess: 추가 프로세스 생성 = 522 
10.1.1 외부 명령어 실행 = 522 
10.1.2 파이프에 직접 작업 = 526 
10.1.3 부분을 파이프 하나에 연결 = 529 
10.1.4 다른 명령어와 상호작용 = 531 
10.1.5 프로세스 간 신호 주고받기 = 533 
10.2 signal: 비동기 시스템 이벤트 = 537 
10.2.1 신호 받기 = 538 
10.2.2 등록된 처리기 추출 = 539 
10.2.3 신호 보내기 = 541 
10.2.4 알람 = 541 
10.2.5 신호 무시 = 542 
10.2.6 신호와 스레드 = 542 
10.3 threading: 병렬 작업 관리 = 545 
10.3.1 스레드 객체 = 545 
10.3.2 현재 스레드 판별 = 546 
10.3.3 데몬 스레드와 넌데몬 스레드 = 548 
10.3.4 모든 스레드 열거 = 551 
10.3.5 스레드 서브클래스 = 553 
10.3.6 타이머 스레드 = 555 
10.3.7 스레드 간 신호 보내기 = 556 
10.3.8 자원 접근 제어 = 557 
10.3.9 스레드 동기화 = 563 
10.3.10 자원에 대한 동시 접근 제한 = 564 
10.3.11 특정 스레드 데이터 = 566 
10.4 multiprocessing: 프로세스를 스레드처럼 관리 = 569 
10.4.1 멀티프로세싱 기본 = 569 
10.4.2 임포트 가능한 목표 함수 = 570 
10.4.3 현재 프로세스 판별 = 571 
10.4.4 데몬 프로세스 = 573 
10.4.5 프로세스 대기 = 574 
10.4.6 프로세스 종료 = 576 
10.4.7 프로세스 종료 상태 = 577 
10.4.8 로깅 = 579 
10.4.9 프로세스 서브클래스 = 580 
10.4.10 프로세스에 메시지 전달 = 581 
10.4.11 프로세스 간 통신 = 584 
10.4.12 자원 접근 제어 = 586 
10.4.13 작업 동기화 = 587 
10.4.14 자원에 대한 동시 접근 제어 = 588 
10.4.15 공유 상태 관리 = 590 
10.4.16 공유 네임스페이스 = 591 
10.4.17 프로세스 풀 = 593 
10.4.18 MapReduce 구현 = 595 
11장 네트워킹 = 601 
11.1 socket: 네트워크 통신 = 601 
11.1.1 주소, 프로토콜 체계, 소켓 타입 = 602 
11.1.2 TCP/IP 클라이언트와 서버 = 612 
11.1.3 사용자 데이터그램 클라이언트와 서버 = 621 
11.1.4 유닉스 도메인 소켓 = 623 
11.1.5 멀티캐스트 = 627 
11.1.6 바이너리 데이터 전송 = 631 
11.1.7 블록 없는 통신과 타임아웃 = 634 
11.2 select: 입출력의 효율적 기다림 = 635 
11.2.1 select() 사용 = 635 
11.2.2 타임아웃을 이용한 넌블록 입출력 = 641 
11.2.3 poll() 사용 = 643 
11.2.4 특정 플랫폼 전용 옵션 = 649 
11.3 SocketServer: 네트워크 서버 생성 = 649 
11.3.1 서버 타입 = 650 
11.3.2 서버 객체 = 650 
11.3.3 서버 구현 = 650 
11.3.4 리퀘스트 핸들러 = 651 
11.3.5 에코 예제 = 651 
11.3.6 스레딩과 포킹 = 657 
11.4 asyncore: 비동기 입출력 = 660 
11.4.1 서버 = 660 
11.4.2 클라이언트 = 660 
11.4.3 이벤트 루프 = 664 
11.4.4 다른 이벤트 루프와 작업 = 666 
11.4.5 파일 작업 = 669 
11.5 aynchat: 비동기 프로토콜 핸들러 = 670 
11.5.1 메시지 터미네이터 = 671 
11.5.2 서버와 핸들러 = 671 
11.5.3 클라이언트 = 674 
11.5.4 모두 한 곳에 = 676 
12장 인터넷 = 679 
12.1 urlparse: URL을 요소 단위로 나눔 = 680 
12.1.1 파싱 = 680 
12.1.2 언파싱 = 683 
12.1.3 조인 = 684 
12.2 BaseHTTPServer: 웹 서버 구현을 위한 베이스 클래스 = 686 
12.2.1 HTTP GET = 686 
12.2.2 HTTP POST = 688 
12.2.3 스레딩과 포킹 = 690 
12.2.4 에러 처리 = 691 
12.2.5 헤더 설정 = 692 
12.3 urllib: 네트워크 자원 접근 = 693 
12.3.1 캐시로 간단히 추출 = 694 
12.3.2 인자 인코딩 = 696 
12.3.3 경로와 URL = 698 
12.4 urllib2: 네트워크 자원 접근 = 699 
12.4.1 HTTP GET = 700 
12.4.2 인자 인코딩 = 702 
12.4.3 HTTP POST = 703 
12.4.4 송신헤더 더하기 = 703 
12.4.5 리퀘스트에 폼 데이터 포스팅 = 705 
12.4.6 파일 업로드 = 706 
12.4.7 사용자 정의 프로토콜 핸들러 생성 = 709 
12.5 base64: 바이너리 데이터를 아스키로 인코드 = 712 
12.5.1 Base64 인코딩 = 712 
12.5.2 Base64 디코딩 = 713 
12.5.3 URL에 안전한 변형 = 714 
12.5.4 기타 인코딩 = 715 
12.6 robotparser: 인터넷 스파이더 접근 콘트롤 = 716 
12.6.1 robots.txt = 716 
12.6.2 접근 권한 테스팅 = 717 
12.6.3 수명이 긴 스파이더 = 718 
12.7 Cookie: HTTP 쿠키 = 719 
12.7.1 쿠키 생성과 설정 = 719 
12.7.2 Morsels = 720 
12.7.3 인코딩된 값 = 722 
12.7.4 쿠키 헤더 수신과 파싱 = 723 
12.7.5 대안 출력 포맷 = 724 
12.7.6 사용하지 않는 클래스 = 725 
12.8 uuid: 보편적 고유 식별자 = 725 
12.8.1 UUID 1: IEEE 802 맥 주소 = 726 
12.8.2 UUID 3과 5: 이름 기반 값 = 728 
12.8.3 UUID 4: 랜덤 값 = 730 
12.8.4 UUID 객체와 작업 = 731 
12.9 json: JavaScript Object Notation = 732 
12.9.1 간단한 데이터 타입 인코딩, 디코딩 = 732 
12.9.2 가독성과 간결함 = 733 
12.9.3 사전형 인코딩 = 736 
12.9.4 사용자 정의 타입 작업 = 736 
12.9.5 인코더, 디코더 클래스 = 739 
12.9.6 스트림, 파일 작업 = 742 
12.9.7 혼합 데이터 스트림 = 742 
12.10 xmlrpclib: XML-RPC용 클라이언트 라이브러리 = 744 
12.10.1 서버에 접속 = 745 
12.10.2 데이터 타입 = 748 
12.10.3 객체 전달 = 751 
12.10.4 바이너리 데이터 = 752 
12.10.5 예외 처리 = 754 
12.10.6 여러 호출을 하나의 메시지에 통합 = 754 
12.11 SimpleXMLRPCServer: XML-RPC 서버 = 756 
12.11.1 간단한 서버 = 756 
12.11.2 대안 API 이름 = 758 
12.11.3 마침표가 있는 API 이름 = 759 
12.11.4 임의의 API 이름 = 760 
12.11.5 객체 메소드의 외부 노출 = 761 
12.11.6 디스패치 호출 = 763 
12.11.7 Introspection API = 765 
13장 이메일 = 769 
13.1 smtplib: 간단한 메일 전송 프로토콜 클라이언트 = 769 
13.1.1 이메일 메시지 전송 = 770 
13.1.2 인증과 암호화 = 772 
13.1.3 이메일 주소 검증 = 775 
13.2 smtpd: 샘플 메일 서버 = 776 
13.2.1 메일 서버 베이스 클래스 = 776 
13.2.2 서버 디버깅 = 779 
13.2.3 프록시 서버 = 780 
13.3 imaplib: IMAP4 클라이언트 라이브러리 = 781 
13.3.1 변형 = 781 
13.3.2 서버 연결 = 781 
13.3.3 예제 설정 = 783 
13.3.4 메일함 리스트 = 783 
13.3.5 메일함 상태 = 786 
13.3.6 메일함 선택 = 788 
13.3.7 메시지 검색 = 789 
13.3.8 검색 조건 = 790 
13.3.9 메시지 가져오기 = 791 
13.3.10 전체 메시지 = 795 
13.3.11 메시지 업로드 = 796 
13.3.12 메시지 이동과 복사 = 798 
13.3.13 메시지 삭제 = 799 
13.4 mailbox: 이메일 아카이브 관리 = 801 
13.4.1 mbox = 802 
13.4.2 Maildir = 805 
13.4.3 기타 포맷 = 811 
14장 애플리케이션 빌딩 블록 = 813 
14.1 getopt: 커맨드라인 옵션 파싱 = 814 
14.1.1 함수 인자 = 815 
14.1.2 짧은 형태의 옵션 = 815 
14.1.3 긴 형태 옵션 = 816 
14.1.4 완전한 예제 = 817 
14.1.5 긴 형태 옵션의 축약 = 819 
14.1.6 GNU 스타일 옵션 파싱 = 819 
14.1.7 인자 처리 종료 = 821 
14.2 optparse: 커맨드라인 옵션 파서 = 821 
14.2.1 OptionParse 생성 = 822 
14.2.2 길고 짧은 형태의 옵션 = 823 
14.2.3 getopt와의 비교 = 824 
14.2.4 옵션 값 = 825 
14.2.5 옵션 동작 = 829 
14.2.6 도움말 = 834 
14.3 argparse: 커맨드라인 옵션과 인수 파싱 = 839 
14.3.1 argparse와 optparse의 차이점 = 840 
14.3.2 파서 설정 = 840 
14.3.3 인수 정의 = 840 
14.3.4 커맨드라인 파싱 = 841 
14.3.5 간단한 예제 = 841 
14.3.6 자동 생성된 옵션 = 849 
14.3.7 파서 조직 = 851 
14.3.8 고급 인자 처리 = 859 
14.4 readline: GNU Readline 라이브러리 = 867 
14.4.1 환경설정 = 867 
14.4.2 텍스트 완성 = 868 
14.4.3 완성 버퍼에 접근 = 872 
14.4.4 입력 히스토리 = 875 
14.4.5 후크 = 878 
14.5 getpass: 안전한 암호 프롬프트 = 880 
14.5.1 예제 = 880 
14.5.2 터미널 없이 getpass 사용 = 881 
14.6 cmd: 줄 지향 명령어 프로세서 = 883 
14.6.1 명령어 처리 = 883 
14.6.2 명령어 인자 = 885 
14.6.3 라이브 도움말 = 886 
14.6.4 자동 완성 = 887 
14.6.5 베이스 클래스 메소드 오버라이드 = 889 
14.6.6 속성을 통한 Cmd 환경설정 = 891 
14.6.7 셸 명령어 실행 = 892 
14.6.8 대안 입력 = 894 
14.6.9 sys.argv의 명령어 = 895 
14.7 shlex: 셸 스타일 신택스 파싱 = 896 
14.7.1 인용구 문자열 = 897 
14.7.2 주석문 = 898 
14.7.3 나누기 = 899 
14.7.4 토큰의 다른 소스 포함 = 900 
14.7.5 파서 제어 = 901 
14.7.6 에러 처리 = 903 
14.7.7 POSIX와 Non-POSIX 파싱 = 904 
14.8 ConfigParser: 환경설정 파일 작업 = 906 
14.8.1 환경설정 파일 포맷 = 906 
14.8.2 환경설정 파일 읽기 = 907 
14.8.3 환경설정 얻어오기 = 909 
14.8.4 설정 수정 = 914 
14.8.5 환경설정 파일 저장 = 916 
14.8.6 옵션 검색 경로 = 917 
14.8.7 값 합치기 = 919 
14.9 logging: 상태, 에러, 정보 메시지를 보고 = 923 
14.9.1 애플리케이션 로깅과 라이브러리 = 923 
14.9.2 파일 로그 = 923 
14.9.3 로그 파일 순환 = 924 
14.9.4 출력 레벨 = 925 
14.9.5 로거 인스턴스에 이름 지정 = 927 
14.10 fileinput: 커맨드라인 필터 프레임워크 = 928 
14.10.1 M3U 파일을 RSS로 변환 = 928 
14.10.2 프로그레스 메타데이터 = 931 
14.10.3 내부 필터링 = 932 
14.11 atexit: 프로그램 종료 콜백 = 935 
14.11.1 예제 = 935 
14.11.2 atexit 함수가 호출되지 않는 때 = 936 
14.11.3 예외 처리 = 939 
14.12 sched: 이벤트 스케줄러 = 940 
14.12.1 지연과 함께 이벤트 실행 = 940 
14.12.2 이벤트 겹침 = 942 
14.12.3 이벤트 우선순위 = 943 
14.12.4 이벤트 취소 = 943 
15장 국제화와 지역화 = 945 
15.1 gettext: 메시지 카탈로그 = 945 
15.1.1 번역 작업 순서 = 943 
15.1.2 소스코드에서 메시지 카탈로그 생성 = 947 
15.1.3 런타임에 메시지 카탈로그 찾기 = 949 
15.1.4 복수 값 = 951 
15.1.5 애플리케이션과 모듈 지역화 = 953 
15.1.6 번역 변환 = 954 
15.2 locale: 문화 지역화 API = 955 
15.2.1 현재 지역 알아내기 = 956 
15.2.2 통화 = 961 
15.2.3 숫자 서식화 = 962 
15.2.4 숫자 피싱 = 963 
15.2.5 날짜와 시간 = 964 
16장 개발자 도구 = 965 
16.1 pydoc: 모듈의 온라인 도움말 = 966 
16.1.1 일반 텍스트 도움말 = 967 
16.1.2 HTML 도움말 = 967 
16.1.3 대화식 도움말 = 967 
16.2 doctest: 문서를 통한 테스팅 = 968 
16.2.1 시작하기 = 968 
16.2.2 예측 불가능한 결과 처리 = 970 
16.2.3 트레이스 백 = 974 
16.2.4 공백문 처리 = 976 
16.2.5 테스트 위치 = 982 
16.2.6 외부 문서 = 985 
16.2.7 테스트 실행 = 988 
16.2.8 테스트 컨텍스트 = 991 
16.3 unittest: 자동화된 테스팅 프레임워크 = 995 
16.3.1 일반 테스트 구조 = 995 
16.3.2 테스트 실행 = 995 
16.3.3 테스트 결과 = 996 
16.3.4 참 값 확인 = 998 
16.3.5 균등 값 테스트 = 999 
16.3.6 거의 같은 값 테스트 = 1001 
16.3.7 예외 테스트 = 1002 
16.3.8 픽스처 테스트 = 1003 
16.3.9 테스트 모음 = 1004 
16.4 traceback: 예외와 스택 정보 = 1004 
16.4.1 함수 지원 = 1005 
16.4.2 예외 작업 = 1005 
16.4.3 스택 작업 = 1009 
16.5 cgitb: 자세한 트레이스백 보고 = 1012 
16.5.1 표준 트레이스백 덤프 = 1012 
16.5.2 자세한 트레이스백 활성화 = 1013 
16.5.3 트레이스백의 지역 변수 = 1015 
16.5.4 예외 속성 = 1017 
16.5.5 HTML 출력 = 1018 
16.5.6 트레이스백 로깅 = 1019 
16.6 pdb: 대화식 디버거 = 1200 
16.6.1 디버거 실행 = 1022 
16.6.2 디버거 제어 = 1023 
16.6.3 중단점 = 1036 
16.6.4 진행 순서 변경 = 1048 
16.6.5 별명을 사용한 디버거 커스터마이징 = 1055 
16.6.6 설정 저장 = 1057 
16.7 trace: 프로그램 흐름 추적 = 1058 
16.7.1 예제 프로그램 = 1059 
16.7.2 트레이스 실행 = 1059 
16.7.3 코드 커버리지 = 1060 
16.7.4 관계 호출 = 1063 
16.7.5 인터페이스 프로그래밍 = 1064 
16.7.6 결과 데이터 저장 = 1066 
16.7.7 옵션 = 1067 
16.8 profile과 pstats: 성능 분석 = 1068 
16.8.1 프로파일러 진행 = 1069 
16.8.2 컨텍스트 실행 = 1072 
16.8.3 pstats: 통계를 작업과 저장 = 1073 
16.8.4 보고 내용 제한 = 1074 
16.8.5 호출자/피호출자 그래프 = 1075 
16.9 timeit: 파이썬 코드의 런타임 측정 = 1077 
16.9.1 모듈 콘텐츠 = 1077 
16.9.2 기본 예제 = 1078 
16.9.3 사전형에 값 저장 = 1079 
16.9.4 커맨드라인 인터페이스 = 1081 
16.10 compileall: 소스 파일 바이트 컴파일 = 1083 
16.10.1 디렉토리 컴파일 = 1083 
16.10.2 sys.path 컴파일 = 1084 
16.10.3 커맨드라인 인터페이스 = 1085 
16.11 pyclbr: 클래스 브라우저 = 1086 
16.11.1 클래스 스캔 = 1087 
16.11.2 함수 스캔 = 1089 
17장 런타임 기능 = 1091 
17.1 site: 사이트 설정 
17.1.1 임포트 경로 = 1092 
17.1.2 사용자 디렉토리 = 1093 
17.1.3 경로 설정 파일 = 1095 
17.1.4 사이트 설정 커스터마이즈 = 1097 
17.1.5 사용자 설정 커스터마이즈 = 1099 
17.1.6 사이트 모듈 비활성화 = 1100 
17.2 sys: 시스템 특화 설정 = 1101 
17.2.1 인터프리터 설정 = 1101 
17.2.2 런타임 환경 = 1108 
17.2.3 메모리 관리와 제한 = 1111 
17.2.4 예외 처리 = 1117 
17.2.5 로우레벨 스레드 지원 = 1120 
17.2.6 모듈과 임포트 = 1126 
17.2.7 프로그램 실행 중 트레이싱 = 1147 
17.3 os: 운영체제의 특정 기능에 간단히 접근 = 1154 
17.3.1 프로세스 소유자 = 1155 
17.3.2 프레세스 환경 = 1157 
17.3.3 프로세스 작업 디렉토리 = 1158 
17.3.4 파이프 = 1159 
17.3.5 파일 디스크립터 = 1163 
17.3.6 파일 시스템 권한 = 1163 
17.3.7 디렉토리 컴파일 = 1165 
17.3.8 심볼릭 링크 = 1166 
17.3.9 디렉토리 트리 순환 = 1166 
17.3.10 외부 명령어 실행 = 1168 
17.3.11 os.fork() 로 프로세스 생성 = 1169 
17.3.12 자식 프로세스 대기 = 1172 
17.3.13 스폰 = 1174 
17.3.14 파일 시스템 권한 = 1174 
17.4 platform: 시스템 버전 정보 = 1176 
17.4.1 인터프리터 설정 = 1177 
17.4.2 플랫폼 = 1178 
17.4.3 운영체제와 하드웨어 정보 = 1178 
17.4.4 프로그램 구조 = 1180 
17.5 resource: 시스템 자원 관리 = 1181 
17.5.1 현재 사용량 = 1181 
17.5.2 자원 제한 = 1182 
17.6 gc: 가비지 컬렉터 = 1185 
17.6.1 참조 추적 = 1186 
17.6.2 가비지 컬렉션 강제 실행 = 1189 
17.6.3 수집 할 수 없는 객체에 대한 참조 찾기 = 1193 
17.6.4 컬렉션 한계점과 세대 = 1196 
17.6.5 디버깅 = 1198 
17.7 sysconfig: 인터프리터 컴파일 타임 설정 = 1206 
17.7.1 설정 변수 = 1207 
17.7.2 설치 경로 = 1209 
17.7.3 파이썬 버전과 플랫폼 = 1213 
18장 언어 툴 = 1215 
18.1 warnings: 치명적이지 않은 경고 = 1216 
18.1.1 카테고리와 필터링 = 1216 
18.1.2 경고 생성 = 1217 
18.1.3 패턴으로 필터링 = 1219 
18.1.4 반복되는 경고 = 1220 
18.1.5 대체 메시지 전달 함수 = 1221 
18.1.6 서식화 = 1222 
18.1.7 경고의 스택 레벨 = 1223 
18.2 abc: 추상 베이스 클래스 = 1224 
18.2.1 추상 베이스 클래스를 사용해야 하는 이유 = 1224 
18.2.2 추상 베이스 클래스 동작 방식 = 1224 
18.2.3 콘크리트 클래스 등록 = 1225 
18.2.4 상속을 통한 구현 = 1226 
18.2.5 추상 베이스 클래스의 콘크리트 메소드 = 1228 
18.2.6 추상 속성 = 1229 
18.3 dis: 파이썬 바이트코드 역어셈블러 = 1233 
18.3.1 기본 역어셈블 = 1233 
18.3.2 함수 역어셈블 = 1234 
18.3.3 클래스 = 1235 
18.3.4 디버깅에 역어셈블 이용 = 1236 
18.3.5 순환문 성능 분석 = 1238 
18.3.6 컴파일러 최적화 = 1245 
18.4 inspect: 라이브 객체 검사 = 1247 
18.4.1 예제 모듈 = 1247 
18.4.2 모듈 정보 = 1248 
18.4.3 모듈 검사 = 1249 
18.4.4 클래스 검사 = 1250 
18.4.5 문서화 = 1252 
18.4.6 소스 추출 = 1254 
18.4.7 메소드와 함수 인자 = 1255 
18.4.8 클래스 계층 = 1257 
18.4.9 메소드 분석 순서 = 1258 
18.4.10 스택과 프레임 = 1259 
18.5 exceptions: 내장 예외 클래스 = 1262 
18.5.1 베이스클래스 = 1263 
18.5.2 발생한 예외 = 1264 
18.5.3 경고 분류 = 1280 
19장 모듈과 패키지 = 1281 
19.1 imp: 파이썬의 임포트 메커니즘 = 1282 
19.1.1 예제 패키지 = 1282 
19.1.2 모듈 타입 = 1282 
19.1.3 모듈 찾기 = 1283 
19.1.4 모듈 로딩 = 1285 
19.2 zipimport: ZIP 저장소에서 파이썬 코드 로딩 = 1286 
19.2.1 예제 = 1287 
19.2.2 모듈 찾기 = 1288 
19.2.3 코드 얻기 = 1288 
19.2.4 소스 = 1289 
19.2.5 패키지 = 1290 
19.2.6 데이터 = 1291 
19.3 pkgutil: 패키지 유틸리티 = 1293 
19.3.1 패키지 임포트 경로 = 1294 
19.3.2 개발 버전 패키지 = 1296 
19.3.3 PKG 파일과 경로 관리 = 1298 
19.3.4 중첩 패키지 = 1300 
19.3.5 패키지 데이터 = 1302 
찾아보기 = 1305

관련분야 신착자료

Burns, Brendan (2023)
김성기 (2023)