전문가를 위한 파이썬(2판)
2024년 12월 02일 출간
국내도서 : 2024년 11월 30일 출간
- eBook 상품 정보
- 파일 정보 pdf (14.55MB)
- ISBN 9791169218801
- 지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
-
교보eBook App
듣기(TTS) 가능
TTS 란?텍스트를 음성으로 읽어주는 기술입니다.
- 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를 읽을 수 있습니다.
- 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
PDF 필기가능 (Android, iOS)
쿠폰적용가 46,800원
10% 할인 | 5%P 적립이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.
카드&결제 혜택
- 5만원 이상 구매 시 추가 2,000P
- 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
- 리뷰 작성 시, e교환권 추가 최대 200원
작품소개
이 상품이 속한 분야
이 책은 실무에서 직면하는 문제를 해결하기 위해 깊이 탐구하고, 꼭 필요한 내용만 담았다. 파이썬의 핵심 기능과 라이브러리를 상세히 안내하며, 더 짧고 빠르며 읽기 쉬운 코드를 작성하는 방법을 제시한다.
이번 개정판은 크게 다섯 부분으로 나누어 각 주제를 다루는 하나의 짧은 책처럼 구성했다.
● 데이터 구조체: 시퀀스, 딕셔너리, 집합, 유니코드, 데이터 클래스
● 객체로서의 함수: 일급 함수, 관련 디자인 패턴, 함수 선언의 타입 힌트
● 클래스와 프로토콜: 구성, 상속, 믹스인, 인터페이스, 연산자 오버로딩, 프로토콜, 정적 타입
● 제어 흐름: 컨텍스트 매니저, 제너레이터, 코루틴, async/await, 스레드/프로세스 풀
● 메타프로그래밍: 속성, 속성 디스크립터, 클래스 데커레이터, 메타클래스를 대체하거나 단순화하는 새로운 클래스 메타프로그래밍 훅
CHAPTER 1 파이썬 데이터 모델
_1.1 이번 장의 변경 사항
_1.2 파이썬다운 카드 한 벌
_1.3 특별 메서드의 용도
_1.4 특별 메서드 개요
_1.5 len( )을 메서드로 만들지 않은 이유
_1.6 요약
CHAPTER 2 시퀀스의 배열
_2.1 이번 장의 변경 사항
_2.2 내장 시퀀스 개요
_2.3 지능형 리스트와 제너레이터 표현식
_2.4 불변 리스트를 뛰어넘는 튜플
_2.5 시퀀스와 반복형 객체의 언패킹
_2.6 시퀀스를 이용한 패턴 매칭
_2.7 슬라이싱
_2.8 시퀀스에 덧셈과 곱셈 연산자 사용하기
_2.9 list.sort( )와 sorted( ) 내장 함수
_2.10 리스트가 답이 아닐 때
_2.11 요약
CHAPTER 3 딕셔너리와 집합
_3.1 이번 장의 변경 사항
_3.2 최신 dict 구문
_3.3 매핑을 이용한 패턴 매칭
_3.4 매핑형의 표준 API
_3.5 존재하지 않는 키의 자동 처리
_3.6 dict의 변종
_3.7 불변 매핑
_3.8 딕셔너리 뷰
_3.9 dict의 작동 방식이 미치는 영향
_3.10 집합 이론
_3.11 집합의 작동 방식이 미치는 영향
_3.12 dict 뷰에 대한 집합 연산
_3.13 요약
CHAPTER 4 유니코드 텍스트와 바이트
_4.1 이번 장의 변경 사항
_4.2 문자 문제
_4.3 바이트 기본 지식
_4.4 기본 인코더/디코더
_4.5 인코딩/디코딩 문제 이해하기
_4.6 텍스트 파일 다루기
_4.7 유니코드 정규화로 제대로 비교하기
_4.8 유니코드 텍스트 정렬하기
_4.9 유니코드 데이터베이스
_4.10 이중 모드 str 및 bytes API
_4.11 요약
CHAPTER 5 데이터 클래스 빌더
_5.1 이번 장의 변경 사항
_5.2 데이터 클래스 빌더 개요
_5.3 고전적인 명명된 튜플
_5.4 자료형과 항목명이 지정된 튜플
_5.5 자료형 힌트 기본 지식
_5.6 @dataclass 추가 설명
_5.7 코드 악취로서의 데이터 클래스
_5.8 클래스 인스턴스 패턴 매칭
_5.9 요약
CHAPTER 6 객체 참조, 가변성, 재활용
_6.1 이번 장의 변경 사항
_6.2 변수의 개념
_6.3 정체성, 동질성, 별칭
_6.4 기본 복사는 얕은 복사
_6.5 참조로서의 함수 매개변수
_6.6 del과 가비지 컬렉션
_6.7 파이썬이 불변형을 갖고 노는 비법
_6.8 요약
[PART 2 객체로서의 함수]
CHAPTER 7 일급 객체로서의 함수
_7.1 이번 장의 변경 사항
_7.2 함수를 객체처럼 다루기
_7.3 고위 함수
_7.4 익명 함수
_7.5 아홉 가지 콜러블 객체
_7.6 사용자 정의 콜러블형
_7.7 위치 매개변수에서 키워드 전용 매개변수까지
_7.8 함수형 프로그래밍을 위한 패키지
_7.9 요약
CHAPTER 8 함수에서의 자료형 힌트
_8.1 이번 장의 변경 사항
_8.2 그래듀얼 타이핑 개요
_8.3 그래듀얼 타이핑 예
_8.4 지원되는 연산에 따라 정의되는 자료형
_8.5 어노테이션에 사용할 수 있는 자료형
_8.6 위치 전용과 가변 매개변수의 어노테이션
_8.7 불완전 타이핑과 강력한 테스팅
_8.8 요약
CHAPTER 9 데커레이터와 클로저
_9.1 이번 장의 변경 사항
_9.2 데커레이터 기본 지식
_9.3 파이썬이 데커레이터를 실행하는 시점
_9.4 등록 데커레이터
_9.5 변수 범위 규칙
_9.6 클로저
_9.7 nonlocal 선언
_9.8 간단한 데커레이터 구현하기
_9.9 표준 라이브러리에서 제공하는 데커레이터
_9.10 매개변수화된 데커레이터
_9.11 요약
CHAPTER 10 일급 함수 디자인 패턴
_10.1 이번 장의 변경 사항
_10.2 사례 연구: 리팩터링 전략
_10.3 명령 패턴
_10.4 요약
[PART 3 클래스와 프로토콜]
CHAPTER 11 파이썬다운 객체
_11.1 이번 장의 변경 사항
_11.2 객체 표현
_11.3 벡터 클래스의 부활
_11.4 대안 생성자
_11.5 @classmethod와 @staticmethod
_11.6 포맷된 출력
_11.7 해시 가능한 Vector2d
_11.8 위치 패턴 매칭 지원
_11.9 Vector2d 버전 #3: 전체 코드
_11.10 파이썬에서의 비공개 속성과 보호된 속성
_11.11 __slots__로 메모리 절약하기
_11.12 클래스 속성 오버라이드
_11.13 요약
CHAPTER 12 시퀀스 특별 메서드
_12.1 이번 장의 변경 사항
_12.2 Vector: 사용자 정의 시퀀스형
_12.3 Vector 버전 #1: Vector2d 호환
_12.4 프로토콜과 덕 타이핑
_12.5 Vector 버전 #2: 슬라이스 가능한 시퀀스
_12.6 Vector 버전 #3: 동적 속성 접근
_12.7 Vector 버전 #4: 해싱 및 더 빠른 ==
_12.8 Vector 버전 #5: 포매팅
_12.9 요약
CHAPTER 13 인터페이스, 프로토콜, 추상 베이스 클래스
_13.1 타이핑의 분류
_13.2 이번 장의 변경 사항
_13.3 두 가지 프로토콜
_13.4 덕 타이핑
_13.5 구스 타이핑
_13.6 정적 프로토콜
_13.7 요약
CHAPTER 14 상속: 득과 실
_14.1 이번 장의 변경 사항
_14.2 super( ) 함수
_14.3 내장형 상속의 문제점
_14.4 다중 상속과 메서드 결정 순서
_14.5 믹스인 클래스
_14.6 실세계에서의 다중 상속
_14.7 상속 처리
_14.8 요약
CHAPTER 15 자료형 힌트 조금 더 알아보기
_15.1 이번 장의 변경 사항
_15.2 오버로드된 시그너처
_15.3 TypedDict
_15.4 자료형 변환
_15.5 런타임에 자료형 힌트 읽기
_15.6 제네릭 클래스 구현하기
_15.7 변이성
_15.8 제네릭 정적 프로토콜의 구현
_15.9 요약
CHAPTER 16 연산자 오버로딩
_16.1 이번 장의 변경 사항
_16.2 연산자 오버로딩 기본 지식
_16.3 단항 연산자
_16.4 벡터 덧셈을 위한 + 연산자 오버로딩
_16.5 스칼라 곱셈을 위한 * 연산자 오버로딩
_16.6 @를 중위 연산자로 사용하기
_16.7 산술 연산자 요약
_16.8 풍부한 비교 연산자
_16.9 복합 할당 연산자
_16.10 요약
[PART 4 제어 흐름]
CHAPTER 17 반복자, 제너레이터, 고전적인 코루틴
_17.1 이번 장의 변경 사항
_17.2 단어의 시퀀스
_17.3 시퀀스가 반복형인 이유: iter( ) 함수
_17.4 반복형과 반복자
_17.5 __iter__( )가 있는 Sentence 클래스
_17.6 느긋한 Sentence
_17.7 제너레이터 표현식 사용이 적합한 상황
_17.8 등차수열 제너레이터
_17.9 표준 라이브러리의 제너레이터 함수들
_17.10 반복형을 리듀스하는 함수들
_17.11 yield from을 이용한 서브제너레이터
_17.12 제네릭 반복형
_17.13 고전적 코루틴
_17.14 요약
CHAPTER 18 with, match, else 블록
_18.1 이번 장의 변경 사항
_18.2 콘텍스트 관리자와 with 블록
_18.3 사례 연구: lis.py에서의 패턴 매칭
_18.4 if 문 뒤의 else 블록
_18.5 요약
CHAPTER 19 파이썬 동시성 모델
_19.1 이번 장의 변경 사항
_19.2 개요
_19.3 간단한 용어 정리
_19.4 헬로 월드 동시성 버전
_19.5 GIL의 실제 영향
_19.6 직접 만든 프로세스 풀
_19.7 멀티코어 세상의 파이썬
_19.8 요약
CHAPTER 20 동시 실행자
_20.1 이번 장의 변경 사항
_20.2 동시에 웹 내려받기
_20.3 concurrent.futures로 프로세스 실행하기
_20.4 Executor.map( ) 실험
_20.5 진행 상황을 출력하고 에러를 처리하면서 내려받기
_20.6 요약
CHAPTER 21 비동기 프로그래밍
_21.1 이 장의 변경 사항
_21.2 몇 가지 정의
_21.3 asyncio 예제: 도메인 검색
_21.4 새로운 개념: 대기형
_21.5 asyncio와 HTTPX로 내려받기
_21.6 비동기 콘텍스트 관리자
_21.7 asyncio 내려받기 프로그램 개선
_21.8 태스크를 실행자에 위임하기
_21.9 asyncio 서버 작성
_21.10 비동기 반복과 비동기 반복형
_21.11 asyncio 너머의 비동기: Curio
_21.12 비동기 객체의 자료형 힌트 지정하기
_21.13 비동기 방식에 대한 진실과 오해
_21.14 요약
[PART 5 메타프로그래밍]
CHAPTER 22 동적 속성과 프로퍼티
_22.1 이 장의 변경 사항
_22.2 동적 속성을 이용한 데이터 랭글링
_22.3 계산된 프로퍼티
_22.4 속성을 검증하기 위해 프로퍼티 사용하기
_22.5 프로퍼티 제대로 알아보기
_22.6 프로퍼티 팩토리 구현하기
_22.7 속성 제거 처리하기
_22.8 속성 처리를 위한 핵심 속성과 함수
_22.9 요약
CHAPTER 23 속성 디스크립터
_23.1 이 장의 변경 사항
_23.2 디스크립터 예: 속성 검증
_23.3 오버라이딩 디스크립터와 논오버라이딩 디스크립터
_23.4 메서드는 디스크립터
_23.5 디스크립터 사용 팁
_23.6 디스크립터 독스트링과 삭제 오버라이딩
_23.7 요약
CHAPTER 24 클래스 메타프로그래밍
_24.1 이 장의 변경 사항
_24.2 객체로서의 클래스
_24.3 type: 내장된 클래스 팩토리
_24.4 클래스 팩토리 함수
_24.5 __init_subclass__( ) 소개
_24.6 클래스 데커레이터를 이용한 클래스 개선
_24.7 임포트 타임과 런타임 비교
_24.8 메타클래스 기본 지식
_24.9 Checked를 위한 메타클래스 해결책
_24.10 메타클래스 고려 사항
_24.11 __prepare__( )로 메타클래스 파헤치기
_24.12 메타클래스 핵심 정리
_24.13 요약
파이썬을 더욱 위대하게!
파이썬 고급 기능을 마스터하는 최고의 실무 지침서
많은 프로그래머가 여전히 다른 언어에서 익힌 패턴에 파이썬을 맞추다 보니, 파이썬만의 고유한 기능과 철학을 충분히 탐구하지 못하는 경우가 많다. 이 책은 그런 개발자들에게 더 효율적이고 파이썬다운 코딩 방식을 제시한다.
튜플 언패킹과 디스크립터 같은 파이썬의 독창적인 기능을 소개하고, 일급 객체로서의 함수가 디자인 패턴에 미치는 영향을 살펴본다. 외부 패키지에 의존하지 않고 기본 라이브러리만으로 파이썬의 강력한 기능을 최대한 활용할 수 있도록 돕는다. 파이썬 3.10 이후 환경을 기반으로 하여 실무 개발자들이 추가된 기능을 활용해 효율적인 코드를 작성하는 데 큰 도움을 줄 것이다.
2판에서 업데이트된 내용
● 파이썬 3의 주요 업데이트 내용 반영
○ 파이썬 3.6+ : collections.abc.Collection 추상 베이스 클래스와 f-문자열
○ 파이썬 3.9+ : dict 형의 향상된 언패킹 구문, 매핑 병합 기능 개선
○ 파이썬 3.10+ : 새로운 패턴 매칭 기능, match/case를 이용한 매핑 방법
● 전반적인 개선 사항
○ 최신 버전으로 모든 내용 업데이트
○ 비동기 프로그래밍 및 새로운 기능을 지원하는 특별 메서드 내용 추가
○ 데이터 클래스 빌더 내용 추가
○ 두 개의 콜러블(네이티브 코루틴과 비동기 제너레이터) 내용 추가
○ 함수 시그너처의 자료형 힌트 내용 추가
○ 파이썬의 그래듀얼 타이핑 시스템 내용 추가
○ 개선된 파이썬의 세 가지 동시성 방식(스레드, 프로세스, 코루틴) 내용 추가
○ 파이썬의 새로운 메타프로그래밍 기능 강조
대상 독자
● 파이썬을 능숙하게 다루고 싶은 파이썬 실무 개발자
● 파이썬의 추가된 기능을 깊이 있게 배우고 싶은 실무자
● 더 효율적이고 파이썬다운 코드 작성법을 배우고 싶은 개발자
[추천사]
파이썬의 기능이 궁금할 때마다 펼쳐보게 되는 책이다. 루시아누의 설명과 이 책의 구성은 탁월하며, 중급 수준의 개발자들이 지식을 쌓기에 최고의 책이다.
캐럴 윌링, 파이썬 운영 위원회 멤버(2020-2021)
이 책은 흔히 접하는 딱딱한 코딩 책이 아니다. 유용하고 검증된 예제로 가득하며, 적절한 유머까지 더해져 읽기 좋다. 이 훌륭한 책으로 파이썬 코딩 실력을 한 단계 높이길 바란다!
마리아 맥킨리, 수석 소프트웨어 엔지니어
이미 제목이 모든 것을 말해 주고 있습니다. 이 책은 파이썬 전문가가 되기 위한 필수 교재로서, 고급 기능 구현에 필요한 거의 모든 내용을 체계적으로 다룹니다. 파이썬의 아름다움을 느끼고, 직접 코드로 표현하고 싶다면 꼭 읽어보길 추천합니다.
강민재, 성균관대학교 전자전기공학부
파이썬 3.5를 기반으로 설명했던 1판과는 달리, 2판에서는 3.10부터 추가된 파이썬 내부 함수와 정의된 기능에 관한 부분이 추가되었습니다. 파이썬을 전문적으로 활용해 보고자 하는 욕구가 생길 때쯤에 이 책을 읽기 시작하면 전문가가 되기 위한 좋은 참고서가 될 것으로 생각합니다.
강찬석, LG전자 소프트웨어 엔지니어
주 언어로 파이썬을 사용하고 공부하면서 여러 커뮤니티에서 이 책을 추천하는 것을 보곤 했습니다. 교과서와도 같은 이 책을 순서대로 따라 읽고 예제 코드를 베타테스트하면서 흩어져 있던 지식 구조를 다시 얽어 쌓는 데 도움이 되었으며, 그 과정에서 제가 부족하거나 놓친 부분은 무엇이었는지 빈 곳을 찾을 수 있는 계기가 되었습니다. 저자의 경험과 지식을 잘 정렬하고 편집하신 덕분에 방대한 분량을 공부하는 데 보다 효과적으로 접근할 수 있었습니다.
김채윤, NHS England 데이터 과학자
『전문가를 위한 파이썬(2판)』은 파이썬의 설계 철학과 패러다임을 기반으로 다양한 문법을 깊이 있게 소개합니다. 기본을 넘어 고급 개념과 언어의 설계를 더 깊이 배우고 싶은 분들께 추천합니다.
박소현, 데이터 엔지니어
파이썬에 관한 1,000페이지가 넘는 책은 처음 보는 것 같습니다. 분량이 방대한 이유는 그만큼 설명이 상세하기 때문이죠. 차례대로 쭉 읽기보다는 내가 더 깊게 공부해야 할 부분을 그때그때 펴 보시는 걸 추천합니다. 실력을 한 단계 높일 수 있을 겁니다.
이장훈, 데브옵스 엔지니어
파이썬을 이만큼 깊이 있게 다룬 책은 흔하지 않습니다. 중고급 개발자로 나아가는 데 있어 탄탄한 중간 디딤돌이 되어 줄 책입니다.
최민주, 레인보우브레인 선임연구원
작가정보
중앙대학교 컴퓨터공학과에서 학사와 석사 학위를 받았다. 국방과학연구소, 퓨쳐시스템, 안철수 연구소에서 13년간 개발자, 보안 전문가, 프로젝트 관리자로 근무했으며, 2009년 4월 호주 멜버른에 iGonagi Pty. Ltd.를 설립하고 아이폰 애플리케이션을 개발하고 있다. 『만들면서 배우는 아이폰 게임 프로그래밍』을 공동으로 저술했고, 『게임 디자인 레벨업 가이드(공역)』, 『헤드 퍼스트 파이썬』, 『안드로이드 시큐리티 인터널』, 『헤드 퍼스트 자바스크립트 프로그래밍』, 『비즈니스를 위한 데이터 과학』,『헤드 퍼스트 C』, 『iPhone 3D Programming』, 『iPhone Programming(공역)』(이상 한빛미디어) 등을 번역했다.
이 상품의 총서
Klover리뷰 (0)
- - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (5,000원 이상 상품으로 변경 예정, 2024년 9월 30일부터 적용)
- - 리워드는 한 상품에 최초 1회만 제공됩니다.
- - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
구매 후 리뷰 작성 시, e교환권 100원 적립
문장수집
- 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
- e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (5,000원 이상 eBook으로 변경 예정, 2024년 9월 30일부터 적용)
- 리워드는 한 상품에 최초 1회만 제공됩니다.
- sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.
구매 후 문장수집 작성 시, e교환권 100원 적립
신규가입 혜택 지급이 완료 되었습니다.
바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!
- 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
- 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
- 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
가장 와 닿는 하나의 키워드를 선택해주세요.
총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.
신고 사유를 선택해주세요.
신고 내용은 이용약관 및 정책에 의해 처리됩니다.
허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
있으니 유의하시어 신중하게 신고해주세요.
이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.
구매 후 90일 이내 작성 시, e교환권 100원 적립
eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.
차감하실 sam이용권을 선택하세요.
차감하실 sam이용권을 선택하세요.
선물하실 sam이용권을 선택하세요.
-
보유 권수 / 선물할 권수0권 / 1권
-
받는사람 이름받는사람 휴대전화
- 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
- 열람권은 1인당 1권씩 선물 가능합니다.
- 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
- 선물한 열람권의 등록유효기간은 14일 입니다.
(상대방이 기한내에 등록하지 않을 경우 소멸됩니다.) - 무제한 이용권일 경우 열람권 선물이 불가합니다.
첫 구매 시 교보e캐시 지급해 드립니다.
- 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
- 한 ID당 최초 1회 지급 / sam 이용권 제외
- 구글바이액션을 통해 교보eBook 구매 이력이 없는 회원 대상
- 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)