로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

모던 파이썬 쿡북

 [주제별 문제 해결 레시피 모음]
   
지은이 스티븐 로트   |   출판사 에이콘  |   발행일 2018년 02월 22일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 43,000원38,700원 10%
마일리지 5% 2,150원
발행일 2018-02-22
ISBN 1161751149 | 9791161751146
기타정보 번역서 | 944쪽 | 일반
예상출고일 1일 (근무일기준)
배송비 무료배송
   
프로그래밍언어
   
 

★ 요약 ★

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





★ 이 책에서 다루는 내용 ★



■ 파이썬 구문을 상세히 살펴보고 효과적으로 활용하는 방법

■ 함수를 통한 코드 가독성 개선

■ 내장 자료 구조를 사용해 데이터를 효과적으로 다루는 방법

■ 고급 프로그래밍 기법에 익숙해지기

■ 함수형 프로그래밍과 통계 프로그래밍 기능

■ 프로그램이 의도대로 동작하는지 확인하는 테스트 코드 작성법

■ 파이썬 애플리케이션 통합







★ 이 책의 대상 독자 ★



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





★ 이 책의 구성 ★



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장. ‘애플리케이션 통합’에서는 대규모의 복잡한 애플리케이션으로 쉽게 결합하기 위한 애플리케이션 설계 방법을 살펴본다. 또한 이렇게 결합된 애플리케이션으로 인해 발생할 수 있는 복잡성에 관해 설명하고, 명령행 파싱과 같은 기능을 집중화해야 할 필요성에 대해서도 다룬다.





★ 지은이의 말 ★



파이썬은 수많은 개발자, 엔지니어, 데이터 과학자, 취미로 개발하는 사람들 모두가 선호하는 프로그래밍 언어며, 애플리케이션에 힘을 불어넣으면서 빠른 속도, 안전성, 확장성을 제공하는 훌륭한 스크립팅 언어다. 이 책에서 제시하는 일련의 레시피를 따라 하면 특정 주제별로 파이썬 언어 기능에 관한 통찰력을 얻을 수 있다. 구체적인 상황에서의 프로그래밍 언어 또는 표준 라이브러리의 기능을 더 쉽게 이해할 수 있기 때문이다.

이 책은 각각의 레시피별로 특정 문제 및 이슈를 해결하는 방법을 보여주는 접근 방식을 취한다.

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

2장. 문장과 구문
__소개
__스크립트와 모듈 파일을 작성하는 방법
__긴 줄 코드를 작성하는 방법
__설명과 문서화를 포함하는 방법
__문서화 문자열에 RST 마크업을 효과적으로 사용하는 방법
__복잡한 if...elif 체인을 설계하는 방법
__정상 종료되는 while문을 설계하는 방법
__break문으로 인한 문제 발생을 예방하는 방법
__예외 매칭 규칙을 활용하는 방법
__except: 절로 인한 문제를 예방하는 방법
__raise from문으로 예외들을 연결하는 방법
__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문으로 제네레이터 함수를 작성하는 방법
__제네레이터식을 조합해 사용하는 방법
__데이터 컬렉션에 변환 처리를 적용하는 방법
__부분 집합 선택하기: 세 가지 필터링 방법
__데이터 컬렉션을 요약하는 방법: 리듀스
__맵과 리듀스를 조합하는 방법
__‘there exists’ 처리를 구현하는 방법
__부분 함수를 작성하는 방법
__변경 불가능한 자료 구조를 사용해 알고리즘을 단순화하는 방법
__yield from문으로 재귀 제네레이터 함수를 작성하는 방법

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

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

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

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

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

스티븐 로트(Steven F. Lott.)

컴퓨터가 크고 비싸며 드물던 70년대부터 프로그래밍을 시작했으며, 프리랜서 소프트웨어 개발자 및 아키텍트로서 다양한 규모의 수많은 프로젝트를 수행했다. 10년 이상 비즈니스 문제를 해결하기 위해 파이썬을 사용해왔다.

현재 파이썬을 활용해 마이크로서비스와 ETL 파이프라인을 구현하고 있으며, 『객체지향 파이썬 프로그래밍』(에이콘, 2017), 『함수형 파이썬 프로그래밍』(에이콘, 2017), 『유쾌한 파이썬』(에이콘, 2015), 『Python Essentials』(packt, 2015) 등을 저술했다.





★ 옮긴이의 말 ★



파이썬은 의심할 여지 없이 현재 가장 많은 관심을 받는 언어 중 하나로, 특히 미국, 영국, 독일에서 가장 빠른 성장세를 보인다. 이와 같은 파이썬의 인기는 소프트웨어 산업 중에서도 매우 빠르게 성장하고 있는 데이터 과학과 인공지능 분야에서 파이썬이 대세가 되고 있는 것과 무관해 보이지 않는다.

파이썬은 문법이 쉽고 직관적이기 때문에 일단 프로토타입을 작성해 실제 동작 여부를 신속히 확인할 수 있다는 큰 장점이 있다. 스크립트 언어라서 속도가 느린 단점은 C로 작성된 라이브러리를 사용해 보완할 수 있으며, 오히려 하드웨어 사양의 급속한 발전으로 퍼포먼스보다 범용성이 더욱 중요하게 여겨지는 시대적 흐름과도 잘 어울린다. 게다가 객체지향이나 함수형 프로그래밍의 장점도 활용할 수 있다.

이 책은 특정 상황별로 파이썬을 사용해 문제 해결법을 보여주는 접근 방식을 취하고 있다. 총 13개의 장으로 구성돼 주제별로 사전 지식 소개, 프로그램 작성 방법, 프로그램의 동작 원리, 추가적인 개선 사항 등을 순서대로 설명한다. 이 책에서 다루는 주제는 자료 구조, 객체지향 특징, 함수형 프로그래밍 기법, 통계 프로그래밍 라이브러리뿐 아니라 테스트 코드 작성, 웹 서비스, 설정 파일 관리, 애플리케이션 통합 등 매우 광범위하다.

이 책은 초심자를 대상으로 하지 않으므로 파이썬 언어의 구문을 기초부터 설명하지는 않는다. 독자들이 어느 정도 파이썬 지식을 갖췄다고 전제하므로, 필요하다면 다른 입문서와 함께 읽는 것이 도움이 될 수 있다. 또한 상황별로 문제 해결책을 제시하고 있어, 굳이 처음부터 읽지 않고 필요한 부분만 선택적으로 읽어도 무방하다.





★ 옮긴이 소개 ★



이정문

컴퓨터공학을 전공했으며 다수의 원서를 번역했다. 번역서로는 에이콘출판사에서 펴낸 『비기닝 ANSI C++』(2008), 『데이터 과학으로 접근하는 정보보안』(2016), 『파이썬 플레이그라운드』(2016) 등이 있다.
등록된 서평이 없습니다.
JSP 2.1 웹 프로그래밍(입문에서 완성까지)(SECOND EDITION)...
손진곤
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
SQL 전문가 가이드 [The Guide for SQL Professional](2013 Edition)...
한국데이터베이스진흥원
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
초보자를 위한 C 언어 300제 2판...
김 은 철
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(0)
회원평점   회원서평수 0
스티븐 로트 의 최근 저서
 
함수형 파이썬 프로그래밍
27,000원
(10%↓+5%)
 
객체지향 파이썬 프로그래밍
40,500원
(10%↓+5%)
 
유쾌한 파이썬
21,600원
(10%↓+5%)
 
에이콘 출판사의 신간
『Go 마스터하기: 고급 기능을 활용한 실전 애플리케이션 만들기』
미할리스 추칼로스 저
36,000원
(10%↓+5%)
 
『과학 영재를 만드는 아두이노 교실 2/e: 아빠와 함께』
최재철, 마창수 저
27,000원
(10%↓+5%)
 
『C++로 나만의 운영체제 만들기 : 비주얼 스튜디오를 활용한 커널 개발』
박주항 저
36,000원
(10%↓+5%)
 
『라즈베리 파이와 슈퍼컴퓨팅: 병렬처리 시스템 구축 및 과학 프로그래밍 가이드북』
애쉬윈 파얀카 저
22,500원
(10%↓+5%)
 
『신경망 설계 2/e: 주요 신경망 이론과 응용 사례』
마틴 헤이건, 하워드 데무스, 마크 허드슨 빌, 올랜도 헤수스 저
45,000원
(10%↓+5%)
 
이메일주소수집거부