책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 파이썬
· ISBN : 9791169211772
· 쪽수 : 1064쪽
· 출판일 : 2024-11-30
책 소개
목차
[PART 1 데이터 구조체]
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 요약