책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 파이썬
· ISBN : 9791161755113
· 쪽수 : 280쪽
책 소개
목차
1장. 파이써닉으로 생각하기
__파이써닉 코드 작성
____네이밍
____코드 표현과 구문
____코드 작성을 위한 파이써닉 방법의 수용
__독스트링 사용
____모듈 레벨 독스트링
____클래스 독스트링 생성
____함수 독스트링
____유용한 독스트링 도구
__파이써닉 제어 구조 작성
____리스트 컴프리헨션 사용
____복잡한 리스트 컴프리헨션 생성 금지
____람다를 사용해야 하는가?
____제너레이터와 리스트 컴프리헨션을 사용해야 하는 경우
____루프와 함께 else를 사용하지 않는 이유
____파이썬 3의 range가 더 좋은 이유
__예외 발생
____자주 발생하는 예외
____예외 처리에서 finally의 장점
____나만의 예외 클래스 생성
____특정 예외 처리
____서드 파티 예외 주의
____최소한의 try 코드 선호
__요약
2장. 데이터 구조
__공통 데이터 구조
____속도를 위한 집합 사용
____데이터 반환 및 액세스를 위한 네임드튜플 사용
____str, 유니코드, 바이트의 이해
____리스트 사용 시 주의 사항과 제너레이터 선호
____리스트 처리를 위한 zip 사용
____파이썬의 내장 함수 활용
__딕셔너리의 장점
____딕셔너리와 다른 데이터 구조를 사용하는 시기
____컬렉션
____OrderedDict, defaultdict, 일반 딕셔너리
____딕셔너리를 사용한 스위치 구문
____두 개의 딕셔너리를 병합하는 방법
____우아한 딕셔너리 출력
__요약
3장. 더 나은 함수와 클래스 작성
__함수
____작은 함수 생성
____제너레이터 반환
____None 반환 대신 예외 발생
____디폴트 및 키워드 인자를 사용한 행동 추가
____명시적인 None 반환 금지
____방어적인 함수 작성
____단일 표현식으로 람다 사용
__클래스
____클래스의 올바른 크기
____클래스 구조
____@property를 사용하는 올바른 방법
____정적 메서드 사용 시기
____파이써닉 방법의 추상 클래스 상속 사용
____클래스 상태 액세스를 위한 @classmethod 사용
____private 대신 public 속성 사용
__요약
4장. 모듈 및 메타클래스 작업
__모듈과 메타클래스
__모듈이 코드를 구성하는 데 도움이 되는 방법
____init__ 파일 활용
__모듈의 함수와 클래스를 임포트하는 올바른 방법
______all__를 사용한 임포트 방지
__메타클래스를 사용하는 경우
__서브클래스 검증을 위한 __new__ 사용
____slots__가 유용한 이유
__메타클래스를 사용한 클래스 동작 변경
__파이썬 디스크립터 다루기
__요약
5장. 데코레이터와 컨텍스트 매니저
__데코레이터
____데코레이터의 의미와 유용한 이유
____데코레이터의 이해
____데코레이터를 사용한 동작 수정
____다중 데코레이터 사용
____데코레이터 인자 허용
____데코레이터의 라이브러리 사용 시 고려 사항
____상태 유지와 매개변수 유효성을 위한 클래스 데코레이터
__컨텍스트 매니저
____컨텍스트 매니저와 유용성
____컨텍스트 매니저의 이해
____컨텍스트 매니저 빌드를 위한 contextlib 사용
____컨텍스트 매니저 사용의 실제 사례
__요약
6장. 제너레이터와 이터레이터
__이터레이터와 제너레이터의 활용
____이터레이터의 이해
____제너레이터란 무엇인가?
____이터레이터를 사용하는 경우
____itertools 사용
____제너레이터가 유용한 이유
____리스트 컴프리헨션과 이터레이터
__yield 키워드 활용
____yield from
____데이터 구조와 비교해 더 빠른 yield
__요약
7장. 새로운 파이썬 기능 활용
__비동기 프로그래밍
____파이썬의 비동기 도입
____작동 방법
____비동기 제너레이터
__파이썬 타이핑
____파이썬 타입
____typing 모듈
____데이터 타입이 코드를 느리게 하는가?
____타이핑으로 더 나은 코드를 작성하는 방법
____타이핑의 단점
__super() 메서드
__타입 힌트
__pathlib를 사용한 경로 처리 효율화
__함수 print()
__f-string
__키워드 전용 인자
__딕셔너리 순서 유지
__이터레이터 해제
__요약
8장. 파이썬 코드의 디버깅과 테스트
__디버깅
____디버깅 도구
____breakpoint
____프로덕션 코드 출력 대신 logging 모듈 사용
____병목 현상 식별을 위한 메트릭 라이브러리 사용
____IPython이 도움이 되는 방법
__테스팅
____테스팅이 중요한 이유
____Pytest와 UnitTest
____속성 테스트
____테스트 보고서 생성 방법
____단위 테스트 자동화
____프로덕션을 위한 코드 준비
____파이썬의 단위 테스트와 통합 테스트 실행
__요약
9장. 멋진 파이썬 도구
__Sphinx
__커버리지
__pre-commit
__virtualenv를 위한 Pyenv
__주피터 랩
__파이참/VSCode/서브라임
__Flake8/Pylint