클린 파이썬 (효과적인 파이썬 코딩 기법)

클린 파이썬 (효과적인 파이썬 코딩 기법)

$23.13
Description
파이썬을 더 나은 방법으로 코딩할 수 있도록 팁과 방법을 알려주는 지침서다. 파이썬의 내장 데이터 구조, 함수와 클래스, 딕셔너리, 모듈 및 메타 클래스, 데코레이터와 컨텍스트 매니저, 제너레이터와 이터레이터, 비동기 프로그래밍 등을 다룬다. 또한 파이썬 코드를 위한 디버깅과 테스트 방법을 알아보고, 다양한 파이썬 도구를 살펴볼 것이다.
저자

수닐카필

SunilKapil
지난10년동안파이썬을비롯한여러언어로프로덕션코드(productioncode)를작성한소프트웨어전문가다.주로웹과모바일서비스의백엔드(backend)에서소프트웨어엔지니어로근무했다.수백만명의사용자에게사랑받고이용되는소규모및대규모운영프로젝트를개발하고배포하며유지한다.전세계유명소프트웨어회사의다양하고전문적인환경에서여러팀과그프로젝트들을완료했다.오픈소스의열정적인지지자로서줄립챗(ZulipChat),블랙(Black)같은프로젝트에지속적으로기여하고있을뿐아니라비영리단체와협력해소프트웨어프로젝트에서자원봉사를하기도한다.다양한밋업(meetup)과콘퍼런스에서많은발표를해왔으며소프트웨어엔지니어링,도구,기술에대한웹사이트를운영한다.또한이메일과소셜미디어를통해서도많은사람과의견을나누고있다.

목차

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키워드활용
____yieldfrom
____데이터구조와비교해더빠른yield
__요약

7장.새로운파이썬기능활용
__비동기프로그래밍
____파이썬의비동기도입
____작동방법
____비동기제너레이터
__파이썬타이핑
____파이썬타입
____typing모듈
____데이터타입이코드를느리게하는가?
____타이핑으로더나은코드를작성하는방법
____타이핑의단점
__super()메서드
__타입힌트
__pathlib를사용한경로처리효율화
__함수print()
__f-string
__키워드전용인자
__딕셔너리순서유지
__이터레이터해제
__요약

8장.파이썬코드의디버깅과테스트
__디버깅
____디버깅도구
____breakpoint
____프로덕션코드출력대신logging모듈사용
____병목현상식별을위한메트릭라이브러리사용
____IPython이도움이되는방법
__테스팅
____테스팅이중요한이유
____Pytest와UnitTest
____속성테스트
____테스트보고서생성방법
____단위테스트자동화
____프로덕션을위한코드준비
____파이썬의단위테스트와통합테스트실행
__요약

9장.멋진파이썬도구
__Sphinx
__커버리지
__pre-commit
__virtualenv를위한Pyenv
__주피터랩
__파이참/VSCode/서브라임
__Flake8/Pylint

출판사 서평

★이책에서다루는내용★

■파이썬코드의올바른표현과구문
■파이썬딕셔너리의생성과할당
■파이썬에서의고급데이터구조작업
■더나은모듈,클래스,함수,메타클래스작성
■비동기파이썬작성
■파이썬의새로운기능