Do it! 점프 투 파이썬: 라이브러리 예제 편 pdf 다운로드를 무료로 제공합니다 이 책은 《Do it! 점프 투 파이썬》의 박응용 저자가 그동안 수많은 독자에게 받았던 ‘이제 무엇을 공부해야 할까요?’, ‘파이썬으로 무엇을 해볼 수 있을까요?’와 같은 질문에 대한 대답이다
관련 교재 pdf 모음
책 소개
파이썬의 가장 큰 장점은 여러 분야에 걸쳐 방대한 라이브러리가 이미 만들어져 있다는 것이다. 하지만 어떤 라이브러리가 있는지 모른다면 제대로 쓸 수 없다. 즉, 파이썬 라이브러리 지식이 많을수록 파이썬을 자유자재로 사용할 수 있다. 이 책은 여러분이 파이썬이라는 넓은 바다를 자유롭게 항해할 때 꼭 필요한 나침반이 되고자 한다. 효율적으로 공부할 수 있도록 실무에서 자주 쓰는 파이썬 라이브러리 122개를 엄선했다. 라이브러리마다 스토리가 담긴 예제가 있어 라이브러리를 언제 어떻게 사용해야 하는지 배울 수 있다. 문제를 해결하는 경험을 하나씩 쌓다 보면 파이썬으로 무엇을 할 수 있고, 그중 하고 싶은 게 무엇인지 스스로 깨닫게 될 것이다. 파이썬 라이브러리 활용법을 터득하는 가장 좋은 방법은 실제 프로젝트에서 그 라이브러리를 사용해야 하는 상황에 부딪혀 보는 것이다. 하지만 이 방법은 시간이 너무 오래 걸리고, 필수 라이브러리를 한 번에 공부할 수 없어 효율이 떨어진다. 이 책에서는 파이썬 라이브러리를 하나 설명할 때마다 그 라이브러리를 써야 하는 스토리가 담긴 예제를 함께 준다. 예제를 풀면서 그 라이브러리를 언제 써야 하는지, 어떻게 쓰면 되는지 알아 두자. 총 122개의 스토리를 읽고 나면 나중에 비슷한 상황이 닥쳤을 때 어떤 라이브러리를 쓰면 되는지 바로 떠올릴 수 있을 것이다.
Do it! 점프 투 파이썬: 라이브러리
이 책을 읽기 전에
01 텍스트 다루기
001 문자열을 줄여 표시하려면? ― textwrap.shorten
002 긴 문장을 줄 바꿈하려면? ― textwrap.wrap
003 정규표현식으로 개인정보를 보호하려면? ― re
02 바이너리 데이터 다루기
004 C로 만든 데이터를 출력하려면? ― struct
03 다양한 데이터 다루기
005 날짜를 계산하고 요일을 알려면? ― datetime.date
006 두 날짜의 차이를 알려면? ― datetime.timedelta
007 2월이 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
050 bzip2 알고리즘으로 압축하려면? ― bz2
051 LZMA 알고리즘으로 압축하려면? ― lzma
052 여러 파일을 zip으로 합치려면? ― zipfile
053 여러 파일을 tar로 합치려면? ― tarfile
09 다양한 형식의 파일 다루기
054 CSV 파일을 읽고 쓰려면? ― csv
055 설정 파일에서 정보를 읽으려면? ― configparser
10 암호문 다루기
056 비밀번호를 암호화하여 저장하려면? ― hashlib
057 메시지 변조를 확인하려면? ― hmac
058 안전한 난수를 생성하려면? ― secrets
11 운영체제 다루기
059 문자열을 파일처럼 다루려면? ― io.StringIO
060 명령행 옵션을 지정하여 실행하려면? ― argparse
061 디버깅용 로그를 남기려면? ― logging
062 입력한 비밀번호를 감추려면? ― getpass
063 터미널 프로그램을 만들려면? ― curses
064 시스템 정보를 알아보려면? ― platform
065 C로 만든 라이브러리를 사용하려면? ― ctypes
12 동시에 실행하기
066 스레드를 이용하여 병렬로 처리하려면? ― threading
067 멀티 프로세스를 이용하여 병렬로 처리하려면? ― multiprocessing
068 병렬로 작업을 처리하려면? ― concurrent.futures
069 시스템 명령어를 실행하려면? ― subprocess
070 원하는 작업을 원하는 시간에 실행하려면? ― sched
13 네트워크와 프로세스 간 통신 다루기
071 비동기 방식으로 프로그래밍하려면? ― asyncio
072 서버와 통신하는 게임을 만들려면?― socket
073 SSL로 서버와 통신하려면? ― ssl
074 여러 명이 동시에 접속하려면? ― select
075 멀티플레이 게임 서버를 업그레이드하려면? ― selectors
076 사용자가 보낸 신호를 처리하려면? ― signal
14 인터넷으로 데이터 주고받기
077 JSON 데이터를 다루려면? ― json
078 바이너리 데이터를 문자열로 바꾸려면? ― base64
079 문자열을 16진수로 변환하려면? ― binascii
080 아스키 외의 문자만 인코딩하려면? ― quopri
081 바이너리 파일을 텍스트 파일로 바꾸려면? ― uu
15 마크업 언어 다루기
082 XSS 공격을 막으려면? ― html
083 웹 페이지에서 원하는 텍스트만 뽑으려면? ― html.parser
084 XML 문서를 만들려면? ― xml.etree.ElementTree
085 XML에서 엘리먼트와 콘텐츠를 읽으려면? ― xml.etree.ElementTree
16 인터넷 프로토콜 다루기
086 웹 브라우저를 실행하려면? ― webbrowser
087 서버에서 실행하는 프로그램을 만들려면? ― cgi
088 CGI 프로그램의 오류를 바로 확인하려면? ― 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
101 XMLRPC 서버와 클라이언트를 만들려면? ― 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
118 HTTP 메서드를 테스트하려면? ― requests
119 문자열 중 바뀐 부분을 확인하려면? ― diff_match_patch
120 테스트용 데이터를 생성하려면? ― faker
121 파이썬으로 방정식을 풀려면? ― sympy
122 실행 파일(exe)로 배포하려면? ― pyinstaller
부록 – 파이썬 라이브러리를 이해하기 위한 다섯 가지 배경 지식
01 파이썬과 유니코드
02 클로저와 데코레이터
03 이터레이터와 제너레이터
04 파이썬 타입 어노테이션
05 str() 함수와 repr() 함수
찾아보기