Effective Python 2nd 이펙티브 파이썬 : 파이썬 코딩의 기술

Effective Python 2nd 이펙티브 파이썬 : 파이썬 코딩의 기술

$32.00
Description
아마존 파이썬 프로그래밍 분야 베스트셀러, 〈Effective Python〉 전면 개정 증보판!
파이썬의 매력과 강점을 이용해 강력하고 우수한 성능의 코드를 작성하는 90가지 방법!
파이썬다운 방식으로 프로그램을 작성하는 방법, 파이썬을 사용하는 가장 좋은 방법에 대한 통찰을 담았다! 2판에서는 파이썬 3.8까지 이르는 파이썬 3에만 초점을 맞췄으며, 1판의 모든 내용을 검토하고 대부분의 내용을 수정하고 갱신했다. 또한, 파이썬 3의 새로운 기능에 대한 내용을 충분히 보강했다. 책 속에 담긴 90가지 Better way를 통해 무엇을 하고 무엇을 하지 말아야 할지, 이 방법이 왜 최선인지 이해하면서 자신의 코드를 향상시킬 수 있는 방법을 습득하자!

저자

브렛슬라킨

저자:브렛슬라킨
구글의프린시펄(principal)소프트웨어엔지니어다.구글설문지(Survey)의기술적공동설립자이며,구글의첫번째클라우드컴퓨팅제품(앱엔진(AppEngine))을출시했다.14년전구글의엄청난서버군을관리하기위해처음파이썬을사용하기시작했다.일과시간외에는피아노연주와서핑을좋아한다(둘다실력은별로다).자신의개인웹사이트(https://onebigfluke.com)에프로그래밍관련주제로글을쓰는것도좋아한다.뉴욕(NewYork)콜럼비아대학(ColumbiaUniversity)에서컴퓨터공학(ComputerEngineering)학사(B.S)를취득했고,현재샌프란시스코(SanFrancisco)에살고있다


역자:오현석
호주소프트웨어개발/컨설팅회사인JNFSoft의공동설립자이자리드소프트웨어엔지니어다.어릴때처음컴퓨터를접하고매혹된이래계속컴퓨터를사용해왔다.KAIST에서전산학학사,석사(컴파일러이론)를취득하고,다양한직장에서개발자와개발팀장을지냈다.직장에서는코틀린이나자바를사용한서버프로그래밍을주로한다.주말이나빈시간에는번역을하거나공부를하면서즐거움을찾고,시간이아주많을때는시뮬레이션게임을하면서머리를식히고논다.『코어파이썬애플리케이션프로그래밍ThirdEdition』(에이콘,2014)을시작으로『코틀린인액션』(에이콘,2017)을거쳐『코틀린을다루는기술』(길벗,2020),『배워서바로쓰는스프링프레임워크』(한빛미디어,2020)에이르기까지20여권의프로그래밍책을번역했다.

목차

1장파이썬답게생각하기
Betterway1사용중인파이썬의버전을알아두라
Betterway2PEP8스타일가이드를따르라
Betterway3bytes와str의차이를알아두라
Betterway4C스타일형식문자열을str.format과쓰기보다는f-문자열을통한인터폴레이션을사용하라
Betterway5복잡한식을쓰는대신도우미함수를작성하라
Betterway6인덱스를사용하는대신대입을사용해데이터를언패킹하라
Betterway7range보다는enumerate를사용하라066
Betterway8여러이터레이터에대해나란히루프를수행하려면zip을사용하라
Betterway9for나while루프뒤에else블록을사용하지말라
Betterway10대입식을사용해반복을피하라

2장리스트와딕셔너리
Betterway11시퀀스를슬라이싱하는방법을익혀라
Betterway12스트라이드와슬라이스를한식에함께사용하지말라
Betterway13슬라이싱보다는나머지를모두잡아내는언패킹을사용하라
Betterway14복잡한기준을사용해정렬할때는key파라미터를사용하라
Betterway15딕셔너리삽입순서에의존할때는조심하라
Betterway16in을사용하고딕셔너리키가없을때KeyError를처리하기보다는get을사용하라
Betterway17내부상태에서원소가없는경우를처리할때는setdefault보다defaultdict를사용하라
Betterway18__missing__을사용해키에따라다른디폴트값을생성하는방법을알아두라

3장함수
Betterway19함수가여러값을반환하는경우절대로네값이상을언패킹하지말라
Betterway20None을반환하기보다는예외를발생시켜라
Betterway21변수영역과클로저의상호작용방식을이해하라
Betterway22변수위치인자를사용해시각적인잡음을줄여라
Betterway23키워드인자로선택적인기능을제공하라
Betterway24None과독스트링을사용해동적인디폴트인자를지정하라
Betterway25위치로만인자를지정하게하거나키워드로만인자를지정하게해서함수호출을명확하게만들라
Betterway26functools.wrap을사용해함수데코레이터를정의하라

4장컴프리헨션과제너레이터
Betterway27map과filter대신컴프리헨션을사용하라
Betterway28컴프리헨션내부에제어하위식을세개이상사용하지말라
Betterway29대입식을사용해컴프리헨션안에서반복작업을피하라
Betterway30리스트를반환하기보다는제너레이터를사용하라
Betterway31인자에대해이터레이션할때는방어적이돼라
Betterway32긴리스트컴프리헨션보다는제너레이터식을사용하라
Betterway33yieldfrom을사용해여러제너레이터를합성하라
Betterway34send로제너레이터에데이터를주입하지말라
Betterway35제너레이터안에서throw로상태를변화시키지말라
Betterway36이터레이터나제너레이터를다룰때는itertools를사용하라

5장클래스와인터페이스
Betterway37내장타입을여러단계로내포시키기보다는클래스를합성하라
Betterway38간단한인터페이스의경우클래스대신함수를받아라
Betterway39객체를제너릭하게구성하려면@classmethod를통한다형성을활용하라
Betterway40super로부모클래스를초기화하라
Betterway41기능을합성할때는믹스인클래스를사용하라
Betterway42비공개애트리뷰트보다는공개애트리뷰트를사용하라
Betterway43커스텀컨테이너타입은collections.abc를상속하라

6장메타클래스와애트리뷰트
Betterway44세터와게터메서드대신평범한애트리뷰트를사용하라
Betterway45애트리뷰트를리팩터링하는대신@property를사용하라
Betterway46재사용가능한@property메서드를만들려면디스크립터를사용하라
Betterway47지연계산애트리뷰트가필요하면__getattr__,__getattribute__,__setattr__을사용하라
Betterway48__init_subclass__를사용해하위클래스를검증하라
Betterway49__init_subclass__를사용해클래스확장을등록하라
Betterway50__set_name__으로클래스애트리뷰트를표시하라
Betterway51합성가능한클래스확장이필요하면메타클래스보다는클래스데코레이터를사용하라

7장동시성과병렬성
Betterway52자식프로세스를관리하기위해subprocess를사용하라
Betterway53블로킹I/O의경우스레드를사용하고병렬성을피하라
Betterway54스레드에서데이터경합을피하기위해Lock을사용하라
Betterway55Queue를사용해스레드사이의작업을조율하라
Betterway56언제동시성이필요할지인식하는방법을알아두라
Betterway57요구에따라팬아웃을진행하려면새로운스레드를생성하지말라
Betterway58동시성과Queue를사용하기위해코드를어떻게리팩터링해야하는지이해하라
Betterway59동시성을위해스레드가필요한경우에는ThreadpoolExecutor를사용하라
Betterway60I/O를할때는코루틴을사용해동시성을높여라
Betterway61스레드를사용한I/O를어떻게asyncio로포팅할수있는지알아두라
Betterway62asyncio로쉽게옮겨갈수있도록스레드와코루틴을함께사용하라
Betterway63응답성을최대로높이려면asyncio이벤트루프를블록하지말라
Betterway64진정한병렬성을살리려면concurrent.futures를사용하라

8장강건성과성능
Betterway65try/except/else/finally의각블록을잘활용하라
Betterway66재사용가능한try/finally동작을원한다면contextlib과with문을사용하라
Betterway67지역시간에는time보다는datetime을사용하라
Betterway68copyreg를사용해pickle을더신뢰성있게만들라
Betterway69정확도가매우중요한경우에는decimal을사용하라
Betterway70최적화하기전에프로파일링을하라
Betterway71생산자-소비자큐로deque를사용하라
Betterway72정렬된시퀀스를검색할때는bisect를사용하라
Betterway73우선순위큐로heapq를사용하는방법을알아두라
Betterway74bytes를복사하지않고다루려면memoryview와bytearray를사용하라

9장테스트와디버깅
Betterway75디버깅출력에는repr문자열을사용하라
Betterway76TestCase하위클래스를사용해프로그램에서연관된행동방식을검증하라
Betterway77setUp,tearDown,setUpModule,tearDownModule을사용해각각의테스트를격리하라
Betterway78목을사용해의존관계가복잡한코드를테스트하라
Betterway79의존관계를캡슐화해모킹과테스트를쉽게만들라
Betterway80pdb를사용해대화형으로디버깅하라
Betterway81프로그램이메모리를사용하는방식과메모리누수를이해하기위해tracemalloc을사용하라

10장협업
Betterway82커뮤니티에서만든모듈을어디서찾을수있는지알아두라
Betterway83가상환경을사용해의존관계를격리하고반복생성할수있게하라
Betterway84모든함수,클래스,모듈에독스트링을작성하라
Betterway85패키지를사용해모듈을체계화하고안정적인API를제공하라
Betterway86배포환경을설정하기위해모듈영역의코드를사용하라
Betterway87호출자를API로부터보호하기위해최상위Exception을정의하라
Betterway88순환의존성을깨는방법을알아두라
Betterway89리팩터링과마이그레이션방법을알려주기위해warning을사용하라
Betterway90typing과정적분석을통해버그를없애라

찾아보기

출판사 서평

파이썬코딩에는파이썬다운기술이필요하다!

파이썬다운생각을키우자
파이썬만의고유한강점과매력,파이썬이제공하는풍부한표현력을이해하고파이썬다운(Pythonic)방식으로프로그램을작성하자.파이썬을사용하는가장좋은방법에대한통찰을담았다.

더나은코딩노하우를배우자
2판에서는파이썬3.8까지이르는파이썬3에만초점을맞췄다.다양한팁과기술을현실성있는코드예제와함께90가지Betterway에수록했다.파이썬을활용한모범실무사례를익히고,새로운도구의강점을자신있게수용할수있게해줄것이다.

제공된코드를직접실행하며이해하자
이책에실린코드조각의전체코드가별도파일로제공되므로스스로실습하기에용이하다.또한,코드를직접수정해보고프로그램을실행하며책에서설명한내용을확실하게이해할수있다