이미 소장하고 있다면 판매해 보세요.
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 |
저수닐 카필
관심작가 알림신청Sunil Kapil
역유연재
관심작가 알림신청유연재의 다른 상품
이 책에서 다루는 내용
- 파이썬 코드의 올바른 표현과 구문 - 파이썬 딕셔너리의 생성과 할당 - 파이썬에서의 고급 데이터 구조 작업 - 더 나은 모듈, 클래스, 함수, 메타 클래스 작성 - 비동기 파이썬 작성 - 파이썬의 새로운 기능 지은이의 말 파이썬은 오늘날 가장 인기 있는 언어 중 하나다. 웹 개발, 과학 연구와 같은 전통적인 분야 외에 데이터 과학, AI, 로봇공학, 데이터 분석과 같은 비교적 새로운 분야에서도 파이썬을 사용하고 있다. 파이썬과 같은 동적 언어로 코드를 작성하는 프로그래머는 코드의 품질이 높고 오류가 없는지 확인하는 것이 점점 더 중요해지고 있다. 파이썬 개발자는 개발 중인 소프트웨어가 예산을 초과하거나 릴리스(release)하지 않고도 사용자를 만족시킬 수 있는지 확인하려 한다. 파이썬은 단순한 언어지만, 더 나은 파이썬 코드를 작성하는 방법을 가르치는 리소스(resource)가 많지 않으므로 파이썬으로 훌륭한 코드를 작성하기는 어렵다. 현재 파이썬 세계에서는 코드 일관성(code consistency), 패턴, 좋은 파이썬 코드에 대한 개발자 간의 공통적인 이해가 부족하다. 모든 파이썬 프로그래머에게서 훌륭한 파이썬 코드는 각기 다른 의미를 가진다. 파이썬이 너무 많은 분야에서 사용되고 있으므로 개발자들 사이에서 특정 패턴에 대한 합의를 이끌어내기가 어렵기 때문이다. 게다가 파이썬은 자바(Java)나 루비(Ruby)와 달리 ‘클린 코드(clean code)’에 관한 책이 존재하지도 않는다. 훌륭한 파이썬 사례를 명확하게 보여주고자 이런 종류의 책을 작성하려는 시도가 있었지만, 시도 자체도 그다지 많지 않았고 솔직히 말해 품질 자체도 만족스럽지 않았다. 이 책의 주목적은 다양한 수준의 파이썬 개발자에게 더 나은 파이썬 소프트웨어와 프로그램을 작성할 수 있는 팁을 제공하는 것이다. 이 책은 파이썬을 사용하는 분야에 관계없이 다양한 기술을 제공한다. 기본에서 고급까지 모든 수준의 파이썬을 다루며 좀 더 파이써닉(Pythonic)하게 코드를 작성하는 법을 소개한다. 옮긴이의 말 파이썬은 가장 인기 있는 프로그래밍 언어 중 하나입니다. 문법이 복잡하지 않고 초보자도 쉽게 다룰 수 있으므로, 파이썬은 코딩을 처음 접하는 학생들부터 인공지능, 머신러닝 등을 다루는 개발자들까지 다양하게 사용되고 있습니다. 개발자 대부분은 파이썬이 처음 나왔을 때 지금과 같은 인기를 얻을 것이라고 상상하지 못했습니다. 저 역시 마찬가지였습니다. 현재 파이썬의 위상은 상상을 초월하고 있습니다. 대중적으로 많은 사랑을 받고 있으며, 파이썬 관련 프로그래밍 서적도 끊임없이 쏟아지고 있습니다. 또한 사용 가능한 공개 라이브러리도 다른 프로그래밍 언어보다 다양하므로 원하는 프로그램을 쉽게 작성할 수 있습니다. 그럼에도 저는 파이썬을 공부하면서 늘 한 가지 아쉬운 점이 있었습니다. 성능이 크게 떨어진다거나 코딩이 불편하다는 이야기도 아닙니다. 여러 프로그래밍 언어와 달리, 파이썬의 경우 효과적으로 코딩하는 방법에 대한 정보가 부족하다고 느껴졌습니다. 이 책은 더 나은 방법으로 파이썬 코드를 작성하는 것을 전제로 접근합니다. 파이썬의 파이써닉 코드 작성 방법을 시작으로, 올바른 표현과 내장 데이터 구조, 함수와 클래스, 딕셔너리를 활용한 모듈 및 메타클래스 등을 다룰 것입니다. 또한 데코레이터와 컨텍스트 매니저, 제너레이터와 이터레이터, 비동기 프로그래밍, 타입 힌트, 디버깅 방법과 테스트, 멋진 파이썬 도구도 살펴볼 것입니다. |