모던 파이썬 쿡북 (주제별 문제 해결 레시피 모음)

모던 파이썬 쿡북 (주제별 문제 해결 레시피 모음)

$48.27
Description
기초 개념부터 복잡한 응용까지 광범위한 파이썬 3 프로그램 구현 방법을 설명한다. 자료 구조, 객체지향, 함수형 프로그래밍, 통계 프로그래밍 등 주제별로 효율적인 파이썬 프로그래밍 기법을 배울 수 있다. 그리고 테스트 코드 작성, 웹 서비스, 설정 파일 관리, 애플리케이션 통합과 관련된 문제 해결 능력도 키울 수 있다.
저자

스티븐로트

저자스티븐로트는컴퓨터가크고비싸며드물던70년대부터프로그래밍을시작했으며,프리랜서소프트웨어개발자및아키텍트로서다양한규모의수많은프로젝트를수행했다.10년이상비즈니스문제를해결하기위해파이썬을사용해왔다.
현재파이썬을활용해마이크로서비스와ETL파이프라인을구현하고있으며,『객체지향파이썬프로그래밍』(에이콘,2017),『함수형파이썬프로그래밍』(에이콘,2017),『유쾌한파이썬』(에이콘,2015),『PythonEssentials』(packt,2015)등을저술했다.

목차

1장.숫자,문자열,튜플
__소개
__변수에유의미한이름을부여하는방법
__크고작은정수를다루는방법
__float,Decimal,Fraction의구별
__실수나눗셈과정수나눗셈의구별
__변경불가능객체인문자열을재작성하는방법
__정규표현식을사용한문자열파싱
__template.format()으로문자열을생성하는방법
__문자리스트로부터문자열을생성하는방법
__키보드로입력할수없는유니코드문자를사용하는방법
__문자열인코딩:ASCII와UTF-8바이트를생성하는방법
__바이트디코딩:바이트로부터문자를알아내는방법
__튜플을사용하는방법

2장.문장과구문
__소개
__스크립트와모듈파일을작성하는방법
__긴줄코드를작성하는방법
__설명과문서화를포함하는방법
__문서화문자열에RST마크업을효과적으로사용하는방법
__복잡한if...elif체인을설계하는방법
__정상종료되는while문을설계하는방법
__break문으로인한문제발생을예방하는방법
__예외매칭규칙을활용하는방법
__except:절로인한문제를예방하는방법
__raisefrom문으로예외들을연결하는방법
__with문으로컨텍스트를관리하는방법

3장.함수정의
__소개
__선택적매개변수를갖는함수를설계하는방법
__매우유연한키워드매개변수를사용하는방법
__*구분자로키워드전용인수를지정하는방법
__함수의매개변수에명시적으로타입을지정하는방법
__부분함수로매개변수의순서를선택하는방법
__함수의문서화문자열에RST마크업을사용하는방법
__파이썬의스택제한과관련한재귀함수설계
__스크립트라이브러리전환으로재사용가능한스크립트를작성하는방법

4장.내장자료구조:리스트,세트,딕셔너리
__소개
__최적의자료구조를선택하는방법
__리스트를생성하는방법:리터럴,추가,내포
__리스트슬라이싱
__리스트에서항목을삭제하는방법:del,remove,pop,filter
__리스트항목들의순서를반대로만드는방법
__세트의메소드와연산자
__세트에서항목을제거하는방법:remove,pop,difference
__딕셔너리를만드는방법:삽입과갱신
__딕셔너리에서항목을제거하는방법:pop메소드와del문
__딕셔너리키의순서를제어하는방법
__doctest예제에서딕셔너리와세트를사용하는방법
__변수,참조,대입에대한이해
__얕은복사와깊은복사
__함수매개변수의기본값으로변경가능객체를피하는방법

5장.사용자입력과출력
__소개
__print()함수의기능들을사용하는방법
__input()과getpass()로사용자입력을받는방법
__format.format_map(vars())를사용하는디버깅방법
__argparse로명령행입력을받는방법
__cmd를사용해명령행애플리케이션을작성하는방법
__운영체제의환경설정을사용하는방법

6장.클래스와객체의기초
__소개
__클래스를사용해데이터와연산을캡슐화하는방법
__연산처리위주의클래스를설계하는방법
__연산처리를거의수행하지않는클래스를설계하는방법
____slots__로객체를최적화하는방법
__좀더정교한컬렉션자료구조들
__컬렉션확장하기:통계값을계산하는리스트
__프로퍼티로지연계산을구현하는방법
__설정가능프로퍼티로속성값을갱신하는방법

7장.고급클래스설계기법
__소개
__확장과래핑간의비교
__다중상속을통한관심사분리
__덕타이핑을사용하는방법
__전역싱글턴객체를관리하는방법
__복잡한자료구조사용하기:리스트를포함하는매핑
__객체를정렬할수있는클래스를작성하는방법
__정렬된컬렉션을정의하는방법
__딕셔너리의리스트에서항목을삭제하는방법

8장.함수형및반응형프로그래밍
__소개
__yield문으로제네레이터함수를작성하는방법
__제네레이터식을조합해사용하는방법
__데이터컬렉션에변환처리를적용하는방법
__부분집합선택하기:세가지필터링방법
__데이터컬렉션을요약하는방법:리듀스
__맵과리듀스를조합하는방법
__‘thereexists’처리를구현하는방법
__부분함수를작성하는방법
__변경불가능한자료구조를사용해알고리즘을단순화하는방법
__yieldfrom문으로재귀제네레이터함수를작성하는방법

9장.입출력,물리적포맷,논리적레이아웃
__소개
__pathlib모듈을사용해파일명을다루는방법
__컨텍스트매니저로파일을읽고쓰는방법
__이전버전을보존하면서파일을대체하는방법
__CSV모듈을사용해구분자를갖는파일을읽는방법
__정규표현식을사용해복잡한포맷을읽는방법
__JSON문서를읽는방법
__XML문서를읽는방법
__HTML문서를읽는방법
__CSV를DictReader에서네임드튜플리더로업그레이드하는방법
__CSV를DictReader에서네임스페이스리더로업그레이드하는방법
__다중컨텍스트를사용해파일을읽고쓰는방법

10장.통계프로그래밍과선형회귀
__소개
__내장통계라이브러리를사용하는방법
__카운터에포함된값들의평균
__상관계수를계산하는방법
__회귀매개변수를계산하는방법
__자기상관관계를계산하는방법
__데이터의무작위성을확인하기:귀무가설
__이상치를찾아내는방법
__1-패스로다수의변수를분석하는방법

11장.테스트
__소개
__닥스트링을테스트에활용하는방법
__예외를발생시키는함수를테스트하는방법
__doctest와관련된문제들을해결하는방법
__테스트모듈과패키지를별도로생성하는방법
__unittest테스트와doctest테스트를함께사용하는방법
__날짜또는시간과관련된테스트
__무작위성을포함하는테스트
__외부자원을모방하는방법

12장.웹서비스
__소개
__WSGI로웹서비스를구현하는방법
__플라스크프레임워크를사용하는방법
__질의문자열을파싱하는방법
__urllib으로REST요청을생성하는방법
__URL경로를파싱하는방법
__JSON요청을파싱하는방법
__웹서비스인증을구현하는방법

13장.애플리케이션통합
__소개
__설정파일을찾는방법
__YAML설정파일을사용하는방법
__설정파일에파이썬을사용하는방법
__네임스페이스로서클래스를사용하는설정방법
__합성관계를위한스크립트를설계하는방법
__제어및감사를위해로깅하는방법
__두개의애플리케이션을하나로합치는방법
__커맨드디자인패턴을사용해애플리케이션들을합치는방법
__합성애플리케이션에서인수와설정을관리하는방법
__명령행인터페이스애플리케이션들을감싸고합치는방법
__내부로포함된프로그램의결과값을검사하는방법
__많은단계들로이뤄진복잡한시퀀스를제어하는방법

출판사 서평

★이책에서다루는내용★

■파이썬구문을상세히살펴보고효과적으로활용하는방법
■함수를통한코드가독성개선
■내장자료구조를사용해데이터를효과적으로다루는방법
■고급프로그래밍기법에익숙해지기
■함수형프로그래밍과통계프로그래밍기능
■프로그램이의도대로동작하는지확인하는테스트코드작성법
■파이썬애플리케이션통합

★이책의대상독자★

이책은웹개발자,프로그래머,엔터프라이즈프로그래머,엔지니어,빅데이터과학자를대상으로한다.초보자라면이책으로파이썬을시작할수있으며,중급이상이라면지식기반을확장할수있다.프로그래밍에대한기본지식이있으면이책을읽는데도움이될것이다.

★이책의구성★

1장.‘숫자,문자열,튜플’에서는다양한종류의숫자를알아보고,문자열을이용해작업한다.이어서튜플과파이썬의핵심적인내장타입들을사용한다.또한유니코드문자집합을깊이있게다룬다.
2장.‘문장과구문’에서는우선스크립트파일의작성에관한기초를소개한다.그리고if,while,for,try,with,raise와같은복잡한문장들을설명한다.
3장.‘함수정의’에서는여러가지함수정의기법을살펴본다.파이썬3.5의타이핑모듈을살펴보고,함수에좀더정리된주석을작성하는방법을설명한다.
4장.‘내장자료구조:list,set,dict’에서는파이썬에서사용할수있는다양한자료구조들을설명하고각각어떤문제해결에적합한지소개한다.그리고리스트,딕셔너리,집합자료구조에대해자세히살펴보고,이와더불어파이썬이객체에대한참조를처리하는방법과관련된고급주제를설명한다.
5장.‘사용자입력및출력’에서는print()함수의여러기능의사용방법을설명한다.또,사용자입력을제공하는다양한함수를다룬다.
6장.‘클래스와객체의기초’에서는다양한통계수식을구현하는클래스들을생성한다.
7장.‘고급클래스설계’에서는파이썬의클래스에관해좀더깊이살펴본다.6장까지배운기능들을결합해좀더정교한객체를생성해본다.
8장.‘함수형및반응형프로그래밍’에서는기능데이터변환을수행하는함수가짧은길이로풍부한기능을제공하도록작성하는방법을설명한다.그리고반응형프로그래밍의개념을소개한다.반응형프로그래밍은입력을받거나입력이변경될때,그에맞춰처리되는규칙이적용되도록프로그램을작성하는방법론이다.
9장.‘입출력,물리적포맷,논리적레이아웃’에서는JSON,XML,HTML등의파일포맷을파이썬에서다루는방법을설명한다.
10장.‘통계프로그래밍과선형회귀’에서는파이썬의내장라이브러리와자료구조로할수있는기본적인통계계산을살펴본다.상관관계,임의성,귀무가설등의주제를다룬다.
11장.‘테스트하기’에서는파이썬에서사용되는테스트프레임워크들을자세히설명한다.
12장.‘웹서비스’에서는RESTful웹서비스의작성방법과정적또는동적콘텐츠를제공하는여러가지레시피를살펴본다.
13장.‘애플리케이션통합’에서는대규모의복잡한애플리케이션으로쉽게결합하기위한애플리케이션설계방법을살펴본다.또한이렇게결합된애플리케이션으로인해발생할수있는복잡성에관해설명하고,명령행파싱과같은기능을집중화해야할필요성에대해서도다룬다.