Do it! 점프 투 파이썬 : 라이브러리 예제 편

Do it! 점프 투 파이썬 : 라이브러리 예제 편

$26.00
저자

박응용

국내저자로는최초로2001년,파이썬안내서인《점프투파이썬》을출간하였다.이후직접제작한온라인서비스위키독스에서온라인독자와소통하며10년동안책을다듬었고,이내용을담아2016년《Doit!점프투파이썬》을출간하였다.《Doit!점프투파이썬》은출간후지금까지파이썬분야는물론전체프로그래밍분야에서1위를꾸준히유지하며많은독자를프로그래밍의세계에입문시켰다.
이번전면개정에서는출간후약4년동안의피드백을반영하여초보자가더빠르게입문하고,더깊이있게공부할수있도록책을재구성하였다.
프로그래밍및IT관련지식을공유하는위키독스(https://wikidocs.net)와프로그래밍문제풀이를통해코딩실력과알고리즘을수련하는코딩도장(http://codingdojang.com)서비스도운영하고있다.현재는뱅킹프로그램을만들며프로그래머의삶을살고있다.

목차

이책을읽기전에

01텍스트다루기

001문자열을줄여표시하려면?―textwrap.shorten

002긴문장을줄바꿈하려면?―textwrap.wrap

003정규표현식으로개인정보를보호하려면?―re

02바이너리데이터다루기

004C로만든데이터를출력하려면?―struct

03다양한데이터다루기

005날짜를계산하고요일을알려면?―datetime.date

006두날짜의차이를알려면?―datetime.timedelta

0072월이29일인해를알려면?―calendar.isleap

008앞뒤에서자료를넣고빼려면?―collections.deque

009자료에이름을붙이려면?―collections.namedtuple

010사용한단어개수를구하려면?―collections.Counter

011딕셔너리를한번에초기화하려면?―collections.defaultdict

012수상자3명을선정하려면?―heapq

013데이터를보기좋게출력하려면?―pprint

014점수에따른학점을구하려면?―bisect

015숫자에이름을붙여사용하려면?―enum

016수강할과목의순서를구하려면?―graphlib.TopologicalSorter

04수학과숫자다루기

017과자를똑같이나누어담으려면?―math.gcd

018버스가동시에도착할시각을알려면?―math.lcm

019소수점을정확하게계산하려면?―decimal.Decimal

020분수를정확하게계산하려면?―fractions

021로또번호를뽑으려면?―random

022시험결과의평균값과중앙값을알려면?―statistics

023상담원을순서대로배정하려면?―itertools.cycle

05함수형프로그래밍다루기

024연간매출액을계산하려면?―itertools.accumulate

025키값으로데이터를묶으려면?―itertools.groupby

026부족한것을채워묶으려면?―itertools.zip_longest

027순서를생각하며카드를뽑으려면?―itertools.permutations

028로또의모든가짓수를구하려면?―itertools.combinations

029순서대로좌표를정렬하려면?―functools.cmp_to_key

030웹페이지를임시로저장하려면?―functools.lru_cache

031기존함수로새로운함수를만들려면?―functools.partial

032함수를적용하여하나의값으로줄이려면?―functools.reduce

033래퍼함수의속성을유지하려면?―functools.wraps

034다양한기준으로정렬하려면?―operator.itemgetter

035파일경로를객체로다루려면?―pathlib

06파일과디렉터리다루기

036디렉터리의구성을알려면?―os.path

037여러개의파일을한꺼번에읽으려면?―fileinput

038디렉터리와파일을비교하려면?―filecmp

039임시로만든파일을이용하려면?―tempfile

040파일을찾으려면?―glob

041특정파일만찾으려면?―fnmatch

042파일에서무작위로한줄만가져오려면?―linecache

043파일을복사하거나이동하려면?―shutil

044객체를파일로저장하고불러오려면?―pickle

07데이터저장하고관리하기

045객체변경에따른오류를방지하려면?―copyreg

046딕셔너리를파일로저장하려면?―shelve

047블로그데이터를저장하려면?―sqlite3

08데이터압축하고보관하기

048데이터크기를줄여전송하려면?―zlib

049데이터를압축하여파일로저장하려면?―gzip

050bzip2알고리즘으로압축하려면?―bz2

051LZMA알고리즘으로압축하려면?―lzma

052여러파일을zip으로합치려면?―zipfile

053여러파일을tar로합치려면?―tarfile

09다양한형식의파일다루기

054CSV파일을읽고쓰려면?―csv

055설정파일에서정보를읽으려면?―configparser

10암호문다루기

056비밀번호를암호화하여저장하려면?―hashlib

057메시지변조를확인하려면?―hmac

058안전한난수를생성하려면?―secrets

11운영체제다루기

059문자열을파일처럼다루려면?―io.StringIO

060명령행옵션을지정하여실행하려면?―argparse

061디버깅용로그를남기려면?―logging

062입력한비밀번호를감추려면?―getpass

063터미널프로그램을만들려면?―curses

064시스템정보를알아보려면?―platform

065C로만든라이브러리를사용하려면?―ctypes

12동시에실행하기

066스레드를이용하여병렬로처리하려면?―threading

067멀티프로세스를이용하여병렬로처리하려면?―multiprocessing

068병렬로작업을처리하려면?―concurrent.futures

069시스템명령어를실행하려면?―subprocess

070원하는작업을원하는시간에실행하려면?―sched

13네트워크와프로세스간통신다루기

071비동기방식으로프로그래밍하려면?―asyncio

072서버와통신하는게임을만들려면?―socket

073SSL로서버와통신하려면?―ssl

074여러명이동시에접속하려면?―select

075멀티플레이게임서버를업그레이드하려면?―selectors

076사용자가보낸신호를처리하려면?―signal

14인터넷으로데이터주고받기

077JSON데이터를다루려면?―json

078바이너리데이터를문자열로바꾸려면?―base64

079문자열을16진수로변환하려면?―binascii

080아스키외의문자만인코딩하려면?―quopri

081바이너리파일을텍스트파일로바꾸려면?―uu

15마크업언어다루기

082XSS공격을막으려면?―html

083웹페이지에서원하는텍스트만뽑으려면?―html.parser

084XML문서를만들려면?―xml.etree.ElementTree

085XML에서엘리먼트와콘텐츠를읽으려면?―xml.etree.ElementTree

16인터넷프로토콜다루기

086웹브라우저를실행하려면?―webbrowser

087서버에서실행하는프로그램을만들려면?―cgi

088CGI프로그램의오류를바로확인하려면?―cgitb

089웹서버응용프로그램을만들려면?―wsgiref

090웹페이지를저장하려면?―urllib

091웹페이지를저장하는또다른방법은?―http.client

092파일서버를사용하려면?―ftplib

093수신한이메일을POP3로확인하려면?―poplib

094수신한이메일을IMAP4로확인하려면?―imaplib

095최신뉴스를확인하려면?―nntplib

096이메일에파일을첨부하려면?―smtplib

097텔넷에접속하여작업하려면?―telnetlib

098고유한식별자를만들려면?―uuid

099서버와통신하는게임을만들려면?―socketserver

100테스트용HTTP서버를만들려면?―http.server

101XMLRPC서버와클라이언트를만들려면?―xmlrpc

17기타서비스다루기

102이미지인지확인하려면?―imghdr

103터틀그래픽으로그림을그리려면?―turtle

104익숙한명령행프로그램을만들려면?―cmd

105문장을분석하려면?―shlex

106그래픽사용자인터페이스를만들려면?―tkinter

107작성한코드를테스트하려면?―unittest

108독스트링을추가하고테스트하려면?―doctest

109함수의실행시간을비교하려면?―timeit

110만든코드를디버깅하려면?―pdb

111매개변수를전달하여실행하려면?―sys.argv

112객체를출력하거나비교하려면?―dataclasses

113반드시메서드를구현하도록하려면?―abc

114프로그램종료시특정작업을실행하려면?―atexit

115오류위치와그원인을알려면?―traceback

116데이터의타입을확인하려면?―typing

18외부라이브러리다루기

117패키지를설치하고관리하려면?―pip

118HTTP메서드를테스트하려면?―requests

119문자열중바뀐부분을확인하려면?―diff_match_patch

120테스트용데이터를생성하려면?―faker

121파이썬으로방정식을풀려면?―sympy

122실행파일(exe)로배포하려면?―pyinstaller

부록-파이썬라이브러리를이해하기위한다섯가지배경지식

01파이썬과유니코드

02클로저와데코레이터

03이터레이터와제너레이터

04파이썬타입어노테이션

05str()함수와repr()함수

찾아보기

출판사 서평

복잡한공식문서읽기는이제그만!

예제와함께핵심내용만배운다.

이책은현업파이썬개발자에게도도움이될것이다.파이썬프로젝트에참여해본개발자10명중9명은파이썬공식라이브러리문서를읽다가질려서꺼버린경험을해봤을것이다.공식라이브러리문서는정말친절하지않기때문이다.이책에서는공식문서의불필요한설명은덜고,라이브러리를이용할때필요한핵심내용만예제와함께알려준다.이책은참고서가아니라안내서이기때문이다.

이런상황에서는이라이브러리를쓰면된다!

스토리가담긴예제로언제,어떻게쓰는지터득한다.

파이썬라이브러리활용법을터득하는가장좋은방법은실제프로젝트에서그라이브러리를사용해야하는상황에부딪혀보는것이다.하지만이방법은시간이너무오래걸리고,필수라이브러리를한번에공부할수없어효율이떨어진다.

이책에서는파이썬라이브러리를하나설명할때마다그라이브러리를써야하는스토리가담긴예제를함께준다.예제를풀면서그라이브러리를언제써야하는지,어떻게쓰면되는지알아두자.총122개의스토리를읽고나면나중에비슷한상황이닥쳤을때어떤라이브러리를쓰면되는지바로떠올릴수있을것이다.

파이썬문법실력까지한단계올려줄보너스!

‘5가지파이썬배경지식’부록제공!

파이썬라이브러리를실제로사용하는방법에초점을맞춰본문을구성하느라미처다풀지못한내용은본문마지막에‘파이썬라이브러리를이해하기위한5가지배경지식’으로따로묶었다.예제를풀다가궁금한점이생기거나살짝막힌다면배경지식이부족해서그럴수있으니이부록을참고하자.파이썬에입문한지얼마안됐다면예제를풀기전에먼저부록을읽는것도좋은공부방법이다.

함께배우고,나누고,성장하는‘Doit!스터디룸’으로오세요.

혼자계획을세우고공부하다보면금방지치기마련이다.나와비슷한고민을하는독자를만나어려운내용을공유해보자.서로도움을주고받으며공부하다보면더보람차다.멀리가려면친구와함께해보자.

-Doit!스터디룸:cafe.naver.com/doitstudyroom

완성소스파일은이지스퍼블리싱홈페이지자료실또는저자깃허브에서제공합니다.