7 hervorragende Python-Bücher für jedes Können

Je beliebter oder leistungsfähiger eine Programmiersprache ist, desto besser sind die Chancen, nicht nur viele Bücher darüber zu finden, sondern auch eine Vielzahl von Büchern. Mit zunehmender Popularität von Python hat auch die Anzahl und Vielfalt der Bücher zugenommen, die den Menschen helfen sollen, die Sprache zu lernen und ihre Feinheiten zu beherrschen.

Hier sind sieben der besten Bücher zum Programmieren mit Python, angefangen von Anfängerhandbüchern bis hin zu Power-Python-Kenntnissen. Egal, ob Sie gerade erst anfangen oder schon seit einiger Zeit mit Python arbeiten, es gibt höchstwahrscheinlich ein Buch für Sie. Einige sind kostenlos in Online- oder PDF-Editionen erhältlich. 

Automatisieren Sie das Langweilige mit Python

Die meisten Einführungen in Programmiersprachen oder in die Programmierung im Allgemeinen sind konzeptionell. Sie sprechen abstrakt über Programmierung. Rob Sweigarts  Automate the Boring Stuff with Python befasst sich insbesondere  mit der Programmierung: In einem Python-Kurs lernen Sie, wie Sie mühsame Aufgaben in bissige Python-Skripte verwandeln.

Automate  ist für Anfänger in Python und Computing allgemein gedacht. Es wird geöffnet, indem der Leser mit einer einfachen IDE (dem „Mu“ -Editor) vertraut gemacht wird. Anschließend werden Eingaben, Flusssteuerung, Funktionen, Objektsammlungen (Listen, Wörterbücher) verwendet, Eingaben und Musterabgleich überprüft und mit ihnen gearbeitet Dateien.

Die zweite Hälfte des Buches ist eher aufgaben- und projektorientiert. Es behandelt allgemeine Automatisierungsaufgaben: Arbeiten mit Tabellenkalkulationen und Textdokumenten, Senden von E-Mails, Bearbeiten von Bildern und Automatisieren von GUI-Interaktionen.

Was  Automate zu  einem wertvollen Anfängerbuch macht, ist die Art und Weise, wie es auf dem gesamten Weg in Projekte einfließt, die für das aktuelle Unterrichtsniveau geeignet sind - wie ein einfaches (wenn auch ausführliches) Stein-Papier-Scherenspiel, um die Flusskontrolle zu lehren, oder ein Pig Latin Generator, um die Manipulation von Saiten zu lehren. Es braucht auch Zeit, um immer wieder herauszufinden, wie wir das, was wir tun wollen (zuerst dies, dann dies, dann dies), in das übersetzen können, was das Programm tut.

Automate the Boring Stuff mit Python  ist in verschiedenen Formaten erhältlich: einer kostenlosen Online-Ausgabe, E-Book- und Print-Ausgaben sowie einem Udemy-Kurs (50 Videos).

Amazon: //www.amazon.com/Automate-Boring-Stuff-Python-2nd/dp/1593279922

Ein Byte Python

"Unprätentiös" ist das beste Wort, um Swaroop Chitlurs A Byte of Python zu beschreiben  . Es ist leicht die einfachste und zugänglichste Anleitung für Python, wenn auch eine der am wenigsten geschmückten. Es werden keine Spielereien, Projekte oder niedlichen Illustrationen verwendet, aber das Weglassen gehört auch zu den größten Stärken: Zwischen dem Leser und dem Unterricht steht nichts.

Das Buch führt den Leser zuerst durch die Einrichtung und Konfiguration einer Python-Instanz, dann durch die Verwendung von REPL und eines Editors (PyCharm erhält dort den größten Teil der Berichterstattung). Von dort aus werden Variablen und Typen, Operatoren, Kontrollfluss, Funktionen, Module, Datenstrukturen (einschließlich Klassen, obwohl es ein vollständiges Kapitel zu OOP gibt), E / A, Ausnahmen und schnelle Übersichten über Begriffe wie Listenverständnis und Dekoratoren durchlaufen.

Das Buch hat einige kleine Nachteile. Eine davon ist die Organisation: Eingabe und Ausgabe werden ziemlich spät behandelt, wenn die meisten Tutorials dies viel früher lehren. Außerdem werden einige Elemente, die eine grundlegende Python-Übersicht verdienen, wie z. B. Kontextmanager, überhaupt nicht behandelt. Insgesamt ist das Buch jedoch eine gute, schnörkellose Einführung in die Sprache.

Ein Byte of Python  ist nominell kostenlos als webbasiertes Buch erhältlich, aber auch als PDF-Download und in gedruckter Form. Es gibt auch viele Übersetzungen in andere Sprachen als Englisch.

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

Python lernen, 5. Auflage

Programmieren von Python, 4. Ausgabe

Nichts ist besser als Mark Lutz ' Learning Python  und  Programming Python, wenn es um Vollständigkeit und All-in-One geht  . Beide Bücher sind über sechzehnhundert Seiten  je , aber lassen Sie sich nicht die Größe abschrecken - sie sind gemeint topisch verdaut werden, anstatt Lese End-to-End.

Nahezu jedes Thema in Python, ab Python 3.3, wird in  Learning Python behandelt und ausführlich behandelt. Wenn Sie beispielsweise alles über Dekorateure erfahren möchten, ist das Kapitel zu diesem Thema ein Minikurs zu diesem Thema.

Bei der Programmierung von Python  geht es darum, mit Python reale Anwendungen zu erstellen. Anstatt nur die Komponenten der Sprache zu veranschaulichen, werden Systemprogrammierung, GUIs, Internet-Clients und -Server, Datenbanken, Integration in C und vieles mehr untersucht.

Der größte Nachteil von Learning Python  ist nicht seine Größe, sondern sein Alter. Die fünfte Ausgabe erschien 2013 und deckte sowohl Python 3.3 als auch 2.7 ab. Daher werden viele der bedeutenden Innovationen, die seitdem in Python eingeführt wurden, nicht behandelt. Ab 2016 hatte Lutz keine Pläne, es zu aktualisieren, was teilweise auf seine dokumentierten Schwierigkeiten mit dem Verlag zurückzuführen war. 

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

Hochleistungs-Python: Praktische performante Programmierung für Menschen

Jeder, der daran interessiert ist, Python schneller oder effizienter zu machen, sollte dieses Buch seiner Sammlung hinzufügen.

"Python" und "High Performance" werden nicht oft in einem Atemzug gesprochen. Was Python Ihnen an Komfort bietet, nimmt es in roher Geschwindigkeit auf Maschinenebene mit. Das heißt aber nicht, dass Python mit hoher Geschwindigkeit unmöglich ist. Wie bei vielen „unmöglichen“ Dingen ist nur ein wenig mehr Arbeit erforderlich.

Hochleistungs-Python: Praktische performante Programmierung für Menschen von Micha Gorelick und Ian Ozsvald führt erfahrene Python-Programmierer durch alle Möglichkeiten, wie Python-Code schneller erstellt werden kann, von einfachen reinen Python-Optimierungen bis hin zu rollendem benutzerdefiniertem C-Code. Das Buch beginnt mit einem Einblick in die Anwendungsprofilerstellung, eine Schlüsselkompetenz zur Diagnose und Korrektur von Leistungsproblemen mit jeder Python-App, und untersucht anschließend nacheinander bestimmte Optimierungen:

  • Zugriffsmuster und Big-O-Leistung verschiedener Datenstrukturen wie Listen im Vergleich zu Wörterbüchern und Mengen.
  • Wie Generatoren verwendet werden können, um Speicher für große Rechenprobleme zu sparen.
  • Verwenden von Matrizen und Vektoren - im Wesentlichen eine Einführung in die Verwendung von NumPy und Pandas für eine schnellere Mathematik.
  • Verwenden von Cython, Numba, PyPy und anderen Compilern und Laufzeiten von Drittanbietern für Geschwindigkeit auf Maschinenebene. Eine Diskussion über jeden dieser Fälle könnte ein ganzes Buch (in Cythons Fall) für sich beanspruchen, sodass hier nur die grundlegendsten und häufigsten Anwendungsfälle behandelt werden. Aber Sie sind gut auf das weitere Lernen vorbereitet.
  • Verwenden der asynchronen Programmierung, um mehrere E / A-abhängige Vorgänge zu beschleunigen.
  • Verwenden von Multiprocessing, um die GIL zu vermeiden, und Verwenden von Clustering- und Jobwarteschlangen, um die Arbeit weiter aufzuteilen.

Ein langes Kapitel enthält auch Hinweise zu Lösungen für echte Python-Leistungsprobleme, einschließlich der Bereitstellung von Pipelines für maschinelles Lernen. Die zweite Ausgabe des Buches aktualisiert den Text für die neuesten Versionen von Python und enthält Material zur Arbeit mit GPUs.

Amazon: //www.amazon.com/High-Performance-Python-Performant-Programming/dp/1492055026/

Fließendes Python

Wie geht es weiter, wenn Sie die Grundlagen beherrschen? Fluent Python  beantwortet diese Frage.

Programmierer, die bereits genug Python kennen, um ihre eigenen Programme zu schreiben, haben oft Schwierigkeiten, die nächste Stufe zu erreichen: Sie nutzen das einzigartige Feature-Set von Python, um wirklich leistungsstarke Software zu schreiben.  Fluent Python von Luciano Ramalho führt den Programmierer durch viele wichtige Aspekte von Python, die von Experten genutzt werden: Beherrschung des Python-Datenmodells und der „Dunder-Methoden“, erweiterte Verwendung von Datensammlungen wie Mengen und Wörterbüchern, Erstellung von Objekten, die als Datensätze funktionieren (nicht nur Klassen, aber benannte Tupel und Datenklassen), die Funktionen als Objekte verwenden, Hinweise geben und vieles mehr.

Während einige der Materialien (z. B. Lambdas) selbst für mäßig erfahrene Python-Programmierer möglicherweise nicht neu sind, zeigt das Buch, wie wertvoll diese Elemente für fortgeschrittene Programmierer sind. Selbst wenn Sie diese Python-Funktionen bereits verwendet haben, zeigt Ihnen das Buch, wie Sie mit ihnen robustere Programme erstellen und mit Bedacht zwischen ähnlichen Alternativen (z. B. Strukturen und Speicheransichten) für fortgeschrittene Arbeiten wählen können.

Zum jetzigen Zeitpunkt ist Fluent Python, 2nd Edition  , als Entwurf für eine frühe Veröffentlichung mit einer O'Reilly-Mitgliedschaft erhältlich oder kann bei Amazon vorbestellt werden.

Amazon: //www.amazon.com/Fluent-Python-Concise-Effective-Programming/dp/1492056359

Denken Sie an Python

Der Untertitel dieses Buches lautet „Wie man wie ein Informatiker denkt“ und gibt Ihnen einen Hinweis auf die Absichten des Buches. Think Python von Allen B. Downey ist ein Leitfaden zum Erlernen von Python für Anfänger. Sein größeres Ziel ist es jedoch, dem Leser zu vermitteln, worum es beim Programmieren geht, was es bedeutet, Programmierer zu sein und warum Computerprogramme so funktionieren tun sie. Python ist nur die Arena, in der diese Ideen erforscht werden. Angesichts der Leichtigkeit, mit der Python zu erlernen ist, ist dies eine vernünftige Wahl.

Denken Sie, Python  beginnt mit formalen Konzepten - was ist ein Programm, was sind Eingabe und Ausgabe, was sind Typen und Werte und wie Programme mit Informationen in diesen Begriffen umgehen. Von dort aus geht das Buch weiter zu der Funktionsweise von Anweisungen und Operationsreihenfolgen und dazu, wie Anweisungen zu Ausdrücken und Funktionen zusammengefügt werden können. Bedingungsbehandlung und Kontrollfluss, Iteration, Auflistungstypen (Zeichenfolgen, Listen, Wörterbücher), Datei-E / A, Klassen und Vererbung sowie eine Reihe nützlicher Python-Funktionen mit der Bezeichnung „Goodies“ erhalten alle eigene Kapitel.

Das Attraktivste an  Think Python ist , abgesehen von seiner klaren und direkten Sprache, dass es ständig jede Information mit den zentralen Themen der Funktionsweise von Computern und Computerprogrammen verknüpft und welche Techniken beim Programmieren verwendet werden, um welche Ziele zu erreichen. Für Neuankömmlinge ist dies wichtiger, als sie zunächst erkennen könnten.

Think Python  ist als kostenloses eBook im PDF- oder HTML-Format erhältlich. 

Amazon: //www.amazon.com/gp/product/1491939362