모든 기술 수준을위한 7 개의 훌륭한 Python 책

프로그래밍 언어가 더 유명하거나 강력할수록 그것에 관한 많은 책뿐만 아니라 다양한 책을 찾을 확률이 높아집니다. 파이썬의 인기가 급상승함에 따라 사람들이 언어를 배우고 그 복잡함을 습득하는 데 도움이되는 책의 수와 다양성도 증가했습니다.

다음은 초보자 가이드에서 power-Python 숙련도에 이르기까지 Python 프로그래밍에 관한 7 가지 최고의 책입니다. 당신이 막 시작하든, 파이썬으로 얼마 동안 작업 해 왔든, 여기에 당신을위한 책이있을 것입니다. 일부는 온라인 또는 PDF 버전으로 무료로 제공됩니다. 

Python으로 지루한 작업 자동화

프로그래밍 언어 또는 일반적으로 프로그래밍에 대한 대부분의 소개는 개념적입니다. 그들은 추상적 인 프로그래밍에 대해 이야기합니다. Rob Sweigart의  Automate the Boring Stuff with Python  은 특히 ​​프로그래밍에 대해 이야기합니다. 지루한 작업을 멋진 Python 스크립트로 바꾸는 방법을 배우는 방법으로 Python의 과정을 사용합니다.

Automate  는 초보자를 대상으로 Python 및 일반적으로 컴퓨팅을 제공합니다. 독자가 간단한 IDE ( "Mu"편집기)에 익숙해 지도록 한 다음 입력, 흐름 제어, 함수, 개체 컬렉션 (목록, 사전) 사용, 입력 및 패턴 일치 확인, 파일.

책의 후반부는 작업과 프로젝트 지향적입니다. 스프레드 시트 및 텍스트 문서 작업, 이메일 전송, 이미지 조작, GUI 상호 작용 자동화 등 일반적인 자동화 작업을 다룹니다.

어떻게 만드는  자동화를  가르쳐 흐름 제어, 또는에 가위 바위 보 게임 등 간단하게 (자세한이기는하지만) - 가치있는 초보자의 책은이 길을 따라 모든 롤스 어떻게 교훈의 현재 수준에 적합한 프로젝트를 문자열 조작을 가르치는 돼지 라틴 생성기. 또한 우리가하고 싶은 일 (먼저 이것, 그 다음 이것, 그 다음 이것)을 프로그램이하는 일로 번역하는 방법을 몇 번이고 매핑하는 데 시간이 걸립니다.

Automate the Boring Stuff with Python  은 무료 온라인 버전, 전자 책 및 인쇄 버전, Udemy 과정 (50 개 비디오) 등 다양한 형식으로 제공됩니다.

아마존 : //www.amazon.com/Automate-Boring-Stuff-Python-2nd/dp/1593279922

파이썬의 바이트

"Unpretentious"는 Swaroop Chitlur의 A Byte of Python 을 설명하는 가장 좋은 단어  입니다. 가장 적게 장식 된 것 중 하나라면 가장 간단하고 접근하기 쉬운 Python 가이드입니다. 속임수, 프로젝트 또는 귀여운 일러스트레이션을 사용하지 않지만이를 생략하는 것도 가장 큰 장점 중 하나입니다. 독자와 레슨 사이에는 아무것도 없습니다.

이 책은 먼저 Python 인스턴스의 설정 및 구성을 통해 독자를 안내 한 다음 REPL 및 편집기를 사용하는 방법을 안내합니다 (PyCharm이 대부분의 내용을 다룹니다). 여기에서 변수 및 유형, 연산자, 제어 흐름, 함수, 모듈, 데이터 구조 (클래스 포함, OOP에 대한 전체 장이 있음), I / O, 예외 및 목록 이해 및 데코레이터와 같은 개념에 대한 빠른 개요를 단계별로 설명합니다.

이 책에는 몇 가지 단점이 있습니다. 하나는 구성입니다. 입력 및 출력은 대부분의 자습서에서 훨씬 일찍 가르 칠 때 상당히 늦게 처리됩니다. 또한 컨텍스트 관리자와 같이 기본 Python 개요에 있어야하는 일부 항목은 전혀 다루지 않습니다. 그러나 전체적으로이 책은 언어에 대한 좋은 입문서입니다.

A Byte of Python  은 명목상 웹 기반 책으로 무료로 제공되지만 PDF 다운로드 및 인쇄 된 하드 카피로도 제공됩니다. 영어 이외의 언어에 대한 번역도 많이 있습니다.

Amazon (Kindle 전용) : //www.amazon.com/Byte-Python-Swaroop-CH-ebook/dp/B00FJ7S2JU

Python 학습, 5 판

Python 프로그래밍, 4 판

완전한 포괄 성과 올인원 성을 위해 Mark Lutz의 Learning Python  및  Programming Python을 능가하는 것은 없습니다  . 두 권의 책은 각각 1,600 페이지가 넘지  만 크기 때문에 겁을주지 마십시오. 전체적으로 읽는 것이 아니라 국소 적으로 소화되도록되어 있습니다.

Python 3.3부터 Python의 거의 모든 주제는  Learning Python 에서 다루고 있으며 철저한 심도를 가지고 있습니다. 예를 들어 데코레이터에 대해 알아야 할 모든 것을 배우고 싶다면 해당 주제에 대한 장은 주제에 대한 미니 코스를 구성합니다.

Python 프로그래밍  은 Python을 사용하여 실제 애플리케이션을 빌드하는 것입니다. 언어의 구성 요소를 설명하는 것보다 시스템 프로그래밍, GUI, 인터넷 클라이언트 및 서버, 데이터베이스, C와의 통합 등을 탐색합니다.

Python 학습 의 가장 큰 단점은  크기가 아니라 나이입니다. 제 5 판은 2013 년에 출시되었으며 Python 3.3과 2.7을 모두 포함하므로 그 이후로 Python에 도입 된 많은 중요한 혁신을 다루지 않습니다. 2016 년부터 Lutz는 출판사와의 문서화 된 어려움 때문에 업데이트 할 계획이 없었습니다. 

아마존 : //www.amazon.com/Learning-Python-5th-Mark-Lutz/dp/1449355730; //www.amazon.com/Programming-Python-Powerful-Object-Oriented-dp-0596158106/dp/0596158106/

고성능 Python : 인간을위한 실용적인 성능 프로그래밍

Python을 더 빠르고 효율적으로 만드는 데 원격으로 관심이있는 사람은이 책을 컬렉션에 추가해야합니다.

"Python"과 "고성능"은 종종 같은 호흡으로 말하지 않습니다. Python이 편리하게 제공하는 것은 원시 머신 수준의 속도를 앗아갑니다. 그러나 이것이 고속 파이썬이 불가능하다는 것을 의미하지는 않습니다. 많은 "불가능"한 것들과 마찬가지로 약간의 작업이 필요합니다.

고성능 Python : 인간을위한 실용적인 프로그래밍 , Micha Gorelick 및 Ian Ozsvald는 숙련 된 Python 프로그래머에게 간단한 순수 Python 최적화부터 사용자 지정 C 코드 롤링에 이르기까지 Python 코드를 더 빠르게 만들 수있는 모든 방법을 안내합니다. 이 책은 모든 Python 앱의 성능 문제를 진단하고 수정하는 핵심 기술인 애플리케이션 프로파일 링에 대해 자세히 살펴본 다음 특정 최적화를 차례로 탐색합니다.

  • 목록 대 사전 및 세트와 같은 다양한 데이터 구조의 액세스 패턴 및 빅오 성능.
  • 대규모 계산 문제에 대해 생성기를 사용하여 메모리를 절약하는 방법.
  • 행렬과 벡터 사용 — 기본적으로 더 빠른 수학을 위해 NumPy와 Pandas를 사용하는 방법을 소개합니다.
  • Cython, Numba, PyPy 및 기타 타사 컴파일러 및 런타임을 사용하여 머신 수준의 속도를 높입니다. 각각에 대한 논의는 전체 책 (Cython의 경우)을 차지할 수 있으므로 여기에서는 가장 기본적이고 일반적인 사용 사례 만 다룹니다. 그러나 당신은 추가 학습을 위해 잘 준비 될 것입니다.
  • 비동기 프로그래밍을 사용하여 여러 I / O 종속 작업의 속도를 높입니다.
  • 멀티 프로세싱을 사용하여 GIL을 피하고 클러스터링 및 작업 큐를 사용하여 작업을 더 나눕니다.

또한 기계 학습 파이프 라인 배포를 포함하여 실제 Python 성능 문제에 대한 솔루션에 대한 메모와 함께 긴 장이 작성됩니다. 이 책의 두 번째 버전은 최신 버전의 Python에 대한 텍스트를 업데이트하고 GPU 작업에 대한 자료를 포함합니다.

아마존 : //www.amazon.com/High-Performance-Python-Performant-Programming/dp/1492055026/

유창한 파이썬

기본을 마스터했다면 다음은 무엇입니까? 유창한 파이썬이  그 질문에 답합니다.

자신의 프로그램을 작성하기에 충분한 Python을 이미 알고있는 프로그래머는 종종 다음 단계로 이동하는 데 어려움을 겪습니다. Python의 고유 한 기능을 사용하여 진정으로 강력한 소프트웨어를 작성하는 것입니다.  Luciano Ramalho의 Fluent Python 은 전문가가 활용하는 Python의 여러 주요 측면을 프로그래머에게 안내합니다. 단지 클래스이지만 명명 된 튜플 및 데이터 클래스), 함수를 객체로 사용, 유형 힌트 등.

일부 자료 (예 : 람다)는 익숙한 Python 프로그래머에게도 새롭지 않을 수 있지만이 책은 이러한 요소가 고급 프로그래머에게 얼마나 중요한지 보여줍니다. 이전에 이러한 Python 기능을 사용해 본 적이 있더라도이 책은 더 강력한 프로그램을 빌드하는 방법과 고급 작업을 위해 유사한 대안 (예 : 구조체 및 메모리 뷰) 중에서 현명하게 선택하는 방법을 보여줍니다.

이 글을 쓰는 시점에서 Fluent Python, 2nd Edition  은 O'Reilly 멤버십이있는 초기 릴리스 초안으로 제공되거나 Amazon에서 사전 주문할 수 있습니다.

아마존 : //www.amazon.com/Fluent-Python-Concise-Effective-Programming/dp/1492056359

파이썬 생각

이 책의 부제목은“컴퓨터 과학자처럼 생각하는 방법”으로 책의 의도를 암시합니다. Allen B. Downey의 Think Python 은 전체 초보자를 대상으로 한 Python 학습 가이드이지만, 더 큰 목표는 독자가 프로그래밍이 무엇인지, 프로그래머가된다는 것이 무엇을 의미하는지, 컴퓨터 프로그램이 작동하는 이유를 이해하도록 돕는 것입니다. 그들이하다. Python은 이러한 아이디어를 탐구하는 분야 일뿐입니다. 파이썬이 얼마나 배우기 쉬운 지 감안할 때 합리적인 선택입니다.

파이썬  은 공식적인 개념으로 시작합니다. 프로그램이란 무엇이며 입력과 출력은 무엇이며 유형과 값은 무엇이며 프로그램이 이러한 용어로 정보를 처리하는 방법입니다. 거기에서이 책은 명령문과 연산 순서가 어떻게 작동하는지, 그리고 명령문이 표현식과 함수로 함께 연결되는 방법에 대해 설명합니다. 조건 처리 및 제어 흐름, 반복, 컬렉션 유형 (문자열, 목록, 사전), 파일 I / O, 클래스 및 상속과 함께 "Goodies"태그가 붙은 유용한 Python 기능은 모두 자체 챕터를받습니다.

명확하고 직접적인 언어를 제외하고 Think Python 에서 가장 매력적인  점은 각 정보를 컴퓨터 및 컴퓨터 프로그램의 작동 방식에 대한 중심 주제와 지속적으로 연결하는 방식과 목적을 달성하기 위해 프로그래밍에 사용되는 기술입니다. 신규 이민자에게 이것은 처음에 깨닫는 것보다 더 중요합니다.

Think Python  은 PDF 또는 HTML 형식의 무료 전자 책으로 제공됩니다. 

아마존 : //www.amazon.com/gp/product/1491939362