Vorwort

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Wie der Titel verspricht, führt dich dieses Buch in eine der beliebtesten Programmiersprachen der Welt ein: Es richtet sich sowohl an Programmieranfänger/innen als auch an erfahrene Programmierer/innen, die Python zu den Sprachen hinzufügen wollen, die sie bereits kennen.

In den meisten Fällen ist es einfacher, eine Computersprache zu lernen als eine menschliche Sprache. Es gibt weniger Zweideutigkeiten und weniger Ausnahmen, die man im Kopf behalten muss. Python ist eine der konsistentesten und klarsten Computersprachen. Sie vereint Leichtigkeit beim Erlernen, Benutzerfreundlichkeit und Ausdruckskraft.

Computersprachen bestehen ausDaten (wie Substantive in gesprochenen Sprachen) und Anweisungen oder Code (wie Verben). Du brauchst beides. In abwechselnden Kapiteln lernst du die grundlegenden Code- und Datenstrukturen von Python kennen, lernst, wie du sie kombinierst, und arbeitest dich zu fortgeschritteneren Strukturen vor. Die Programme, die du liest und schreibst, werden immer länger und komplexer. In Anlehnung an die Holzbearbeitung beginnen wir mit einem Hammer, Nägeln und Holzstücken. In der ersten Hälfte des Buches werden wir immer speziellere Komponenten vorstellen, bis hin zu den Äquivalenten von Drehbänken und anderen Elektrowerkzeugen.

Du lernst nicht nur die Sprache, sondern auch, was du damit machen kannst. Wir beginnen mit der Python-Sprache und ihrer Standardbibliothek, aber ich zeige dir auch, wie du gute Pakete von Drittanbietern findest, herunterlädst, installierst und benutzt. Ich konzentriere mich auf das, was ich in mehr als 10 Jahren Python-Entwicklung als nützlich empfunden habe, und nicht auf Randthemen oder komplexe Hacks.

Obwohl es sich um eine Einführung handelt, sind einige fortgeschrittene Themen enthalten, weil ich sie dir näher bringen möchte. Bereiche wie Datenbanken und das Web werden immer noch abgedeckt, aber die Technologie ändert sich schnell. Von einem Python-Programmierer wird heute vielleicht erwartet, dass er etwas über Cloud Computing, maschinelles Lernen oder Event-Streaming weiß. Du wirst hier etwas zu all diesen Themen finden.

Python hat einige Besonderheiten, die besser funktionieren als die Anpassung von Stilen aus anderen Sprachen, die du vielleicht kennst. Zum Beispiel ist die Verwendung von for und Iteratoren ein direkterer Weg, eine Schleife zu bilden, als eine Zählervariable manuell zu erhöhen.

Wenn du etwas Neues lernst, ist es schwer zu erkennen, welche Begriffe spezifisch und nicht umgangssprachlich sind und welche Konzepte tatsächlich wichtig sind. Mit anderen Worten: "Kommt das in die Prüfung?" Ich werde Begriffe und Ideen hervorheben, die eine bestimmte Bedeutung oder Wichtigkeit in Python haben, aber nicht zu viele auf einmal. Echter Python-Code ist früh und oft enthalten.

Hinweis

Ich füge einen Hinweis wie diesen ein, wenn etwas verwirrend sein könnte oder wenn es eine geeignetere pythonische Methode gibt, es zu tun.

Python ist nicht perfekt. Ich zeige dir Dinge, die dir seltsam vorkommen oder die du vermeiden solltest - und biete dir Alternativen, die du stattdessen verwenden kannst.

Ab und zu kann es vorkommen, dass meine Meinung zu bestimmten Themen (wie z.B. Objektvererbung oder MVC- und REST-Designs für das Web) etwas von der gängigen Meinung abweicht. Schau, was du davon hältst.

Publikum

Dieses Buch richtet sich an alle, die eine der beliebtesten Computersprachen der Welt erlernen wollen, unabhängig davon, ob du schon einmal programmieren gelernt hast .

Änderungen in der zweiten Auflage

Was hat sich seit der ersten Ausgabe geändert?

  • Etwa hundert weitere Seiten, darunter auch Katzenbilder.

  • Doppelt so viele Kapitel, jedes kürzer als bisher.

  • Ein frühes Kapitel widmet sich den Datentypen, Variablen und Namen.

  • Neue Python-Standardfunktionen wie f-strings.

  • Neue oder verbesserte Pakete von Drittanbietern.

  • Durchgehend neue Code-Beispiele.

  • Ein Anhang über grundlegende Hard- und Software für neue Programmierer.

  • Ein Anhang über Asyncio, für nicht ganz so neue Programmierer.

  • "New Stack"-Bereich: Container, Clouds, Data Science und maschinelles Lernen.

  • Tipps, wie du einen Job als Python-Programmierer/in bekommst.

Was sich nicht geändert hat, sind Beispiele für schlechte Poesie und Enten. Diese sind ein Evergreen.

Gliederung

Teil I (Kapitel 1-11) erklärt die Grundlagen von Python. Du solltest diese Kapitel in der richtigen Reihenfolge lesen. Ich gehe von den einfachsten Daten- und Codestrukturen aus und kombiniere sie auf dem Weg zu detaillierteren und realistischeren Programmen. Teil II (Kapitel 12-22) zeigt, wie Python in bestimmten Anwendungsbereichen wie dem Web, Datenbanken, Netzwerken usw. eingesetzt wird; lies diese Kapitel in beliebiger Reihenfolge.

Hier ist eine kurze Vorschau auf die Kapitel und Anhänge, einschließlich einiger Begriffe, auf die du dort stoßen wirst:

Kapitel 1, Ein Geschmack von Py

Computerprogramme unterscheiden sich gar nicht so sehr von den Richtungen, die du jeden Tag siehst. Einige kleine Python-Programme geben dir einen Einblick in das Aussehen, die Möglichkeiten und die Verwendung der Sprache in der realen Welt. Du wirst sehen, wie du ein Python-Programm in seinem interaktiven Interpreter(oder Shell) oder von einer Textdatei auf deinem Computer aus starten kannst.

Kapitel 2, Daten: Typen, Werte, Variablen und Namen

Computersprachen mischen Daten und Anweisungen. Verschiedene Arten von Daten werden vom Computer unterschiedlich gespeichert und behandelt. Sie können zulassen, dass ihre Werte geändert werden(veränderbar) oder nicht(unveränderbar). In einem Python-Programm können Daten als Literal(Zahlen wie 78, Textstrings wie "waffle") oder durch benannte Variablen dargestellt werden. Python behandelt Variablen wie Namen, was sich von vielen anderen Sprachen unterscheidet und einige wichtige Konsequenzen hat.

Kapitel 3, Zahlen

In diesem Kapitel lernst du die einfachsten Datentypen von Python kennen:Boolesche Werte, Ganzzahlen und Fließkommazahlen. Außerdem lernst du die grundlegenden mathematischen Operationen. Die Beispiele verwenden den interaktiven Interpreter von Python wie einen Taschenrechner.

Kapitel 4, Wählen Sie mit wenn

Wir werden ein paar Kapitel lang zwischen den Substantiven (Datentypen) und Verben (Programmstrukturen) von Python hin- und herspringen. Python-Code wird normalerweise zeilenweise ausgeführt, vom Anfang bis zum Ende eines Programms. Mit der Codestruktur if kannst du verschiedene Codezeilen ausführen, abhängig von einem Datenvergleich.

Kapitel 5, Textstrings

Zurück zu den Substantiven und der Welt der Zeichenketten. Lerne, wie du Zeichenketten erstellst, kombinierst, änderst, abrufst und druckst.

Kapitel 6, Schleife mit while und for

Wieder Verben und zwei Möglichkeiten, eine Schleife zu bilden:for und while. Du lernst ein zentrales Python-Konzept kennen: Iteratoren.

Kapitel 7, Tupel und Listen

Es ist Zeit für die ersten der in Python eingebauten Datenstrukturen auf höherer Ebene:lists und tuples. Das sind Sequenzen von Werten, wie LEGO für den Aufbau viel komplexerer Datenstrukturen. Gehe mit Iteratoren durch sie hindurch und baue mit Comprehensions schnell Listen.

Kapitel 8, Wörterbücher und Mengen

MitDictionaries (auch bekannt als Dicts) und Setskannst du Daten nach ihren Werten und nicht nach ihrer Position speichern. Das ist sehr praktisch und wird zu deinen Lieblingsfunktionen in Python gehören.

Kapitel 9, Funktionen

Verwebe die Daten- und Codestrukturen der vorherigen Kapitel, um sie zu vergleichen, auszuwählen oder zu wiederholen. Verpacke den Code in Funktionenund behandle Fehler mit Ausnahmen.

Kapitel 10, Oh Oh: Objekte und Klassen

Das Wort "Objekt" ist etwas unscharf, aber wichtig in vielen Computersprachen, auch in Python. Wenn du in anderen Sprachen objektorientiert programmierthast, ist Python etwas entspannter. In diesem Kapitel wird erklärt, wie man Objekte und Klassen verwendet und wann es besser ist, Alternativen zu verwenden.

Kapitel 11, Module, Pakete und Goodies

Dieses Kapitel zeigt dir, wie du größere Codestrukturen aufbauen kannst:Module, Pakete und Programme. Du erfährst, wo du Code und Daten ablegen kannst, wie du Daten ein- und auslesen kannst, wie du mit Optionen umgehst, wie du die Python-Standardbibliothek kennenlernst und wie du einen Blick auf die Zukunft werfen kannst.

Kapitel 12, Daten verwirren und mangeln

In diesem Kapitel dreht sich alles um Text- und Binärdaten, den Umgang mit Unicode-Zeichen und die Regex-Textsuche. Außerdem werden die DatentypenBytes und Bytearray vorgestellt, die Gegenstücke zu Strings, die keine Textzeichen, sondern Binärwerte enthalten.

Kapitel 13, Kalender und Uhren

Die Handhabung von Daten und Zeiten kann schwierig sein. Dieses Kapitel zeigt häufige Probleme und nützliche Lösungen.

Kapitel 14, Dateien und Verzeichnisse

Die grundlegende Speicherung von Daten erfolgt in Dateien und Verzeichnissen. In diesem Kapitel erfährst du, wie du sie erstellst und verwendest.

Kapitel 15, Daten in der Zeit: Prozesse und Gleichzeitigkeit

In diesem Kapitel geht es um Daten in der Zeit - wie manProgramme, Prozesse und Threadsnutzt, um mehr Dinge gleichzeitig zu tun(Gleichzeitigkeit). Die jüngsten asynchronen Erweiterungen von Python werden erwähnt, Details dazu findest du in Anhang C.

Kapitel 16, Daten in einer Box: Dauerhafte Speicherung

Daten können mit einfachen flachen Dateien und Verzeichnissen in Dateisystemen gespeichert und abgerufen werden. Eine gewisse Struktur erhalten sie durch gängige Textformate wie CSV, JSON und XML. Wenn die Daten größer und komplexer werden, benötigen sie die Dienste vonDatenbanken - herkömmliche relationale Datenbanken und einige neuere NoSQL-Datenspeicher.

Kapitel 17, Daten im Raum: Netzwerke

Sende deinen Code und deine Daten mit Diensten, Protokollen und APIs durch den Raum in Netzwerken. Die Beispiele reichen von Low-Level-TCP-Sockets über Messaging-Bibliotheken und Warteschlangensysteme bis hin zum Cloud-Einsatz.

Kapitel 18, Das Netz, entwirrt

Das Web bekommt ein eigenes Kapitel - Clients, Server, APIs und Frameworks. Du wirst Websites crawlen und scrapen und dann echte Websites mitAnfrageparametern und Templates erstellen.

Kapitel 19, Sei ein Pythonista

Dieses Kapitel enthält Tipps für Python-Entwickler: Installation mit pip und virtualenv, Verwendung von IDEs, Testen, Debugging, Protokollierung, Versionskontrolle und Dokumentation. Es hilft dir auch, nützliche Pakete von Drittanbietern zu finden und zu installieren, deinen eigenen Code für die Wiederverwendung zu paketieren und zu erfahren, wo du weitere Informationen erhältst.

Kapitel 20, Py Art

In der Kunst machen Menschen coole Sachen mit Python: Grafik, Musik, Animation und Spiele.

Kapitel 21, Py bei der Arbeit

Python hat spezielle Anwendungen für Unternehmen: Datenvisualisierung (Plots, Diagramme und Karten), Sicherheit und Regulierung.

Kapitel 22, Py Sci

In den letzten Jahren hat sich Python zu einer Top-Sprache für die Wissenschaft entwickelt: Mathematik und Statistik, Physik, Biowissenschaften und Medizin.Data Science und maschinelles Lernen sind besondere Stärken. Dieses Kapitel befasst sich mit NumPy, SciPy und Pandas.

Anhang A, Hardware und Software für Programmieranfänger

Wenn du noch relativ neu in der Programmierung bist, wird hier beschrieben, wie Hardware und Software eigentlich funktionieren. Es werden einige Begriffe eingeführt, die dir immer wieder begegnen werden.

Anhang B, Python 3 installieren

Wenn du Python 3 noch nicht auf deinem Computer hast, zeigt dir dieser Anhang, wie du es installierst, egal ob du mit Windows, macOS, Linux oder einer anderen Variante von Unix arbeitest.

Anhang C, Etwas ganz anderes: Async

Python hat in verschiedenen Versionen asynchrone Funktionen hinzugefügt, die nicht leicht zu verstehen sind. Ich erwähne sie in den verschiedenen Kapiteln, spare mir aber eine detaillierte Diskussion für diesen Anhang auf.

Anhang D, Antworten auf die Übungen

Hier findest du die Antworten auf die Übungen am Ende des Kapitels. Schaue hier nicht rein, bevor du die Übungen nicht selbst ausprobiert hast, sonst wirst du vielleicht in einen Molch verwandelt.

Anhang E, Spickzettel

Dieser Anhang enthält Spickzettel, die du zum schnellen Nachschlagen verwenden kannst.

Python-Versionen

Computersprachen ändern sich im Laufe der Zeit, wenn Entwickler neue Funktionen hinzufügen und Fehler beheben. Die Beispiele in diesem Buch wurden mit der Python-Version 3.7 geschrieben und getestet. Version 3.7 war zum Zeitpunkt der Erstellung dieses Buches die aktuellste Version, und ich werde auf die wichtigsten Neuerungen eingehen. Version 3.8 soll Ende 2019 veröffentlicht werden, und ich werde ein paar Dinge erwähnen, die du von ihr erwarten kannst. Wenn du wissen willst, was zu Python hinzugefügt wurde und wann, dann schau auf dieSeite What's New in Python. Das ist eine technische Referenz, die etwas schwerfällig ist, wenn du gerade mit Python anfängst, aber in Zukunft nützlich sein kann, wenn du Programme auf Computern mit verschiedenen Python-Versionen zum Laufen bringen musst.

In diesem Buch verwendete Konventionen

In diesem Buch werden die folgenden typografischen Konventionen verwendet:

Kursiv

Weist auf neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen hin.

Constant width

Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen, Funktionen und Datentypen zu verweisen.

Constant width bold

Zeigt Befehle oder anderen Text an, der vom Benutzer wortwörtlich eingetippt werden sollte.

Constant width italic

Zeigt Text an, der durch vom Benutzer eingegebene Werte oder durch kontextabhängige Werte ersetzt werden soll.

Hinweis

Dieses Symbol steht für einen Tipp, eine Anregung oder einen allgemeinen Hinweis.

Warnung

Dieses Symbol weist auf eine Warnung oder Vorsicht hin.

Code-Beispiele verwenden

Die umfangreichen Code-Beispiele und Übungen in diesem Buchstehen online zum Download bereit. Dieses Buch soll dir helfen, deine Arbeit zu erledigen. Im Allgemeinen darfst du den Code in diesem Buch in deinen Programmen und deiner Dokumentation verwenden. Du musst uns nicht um Erlaubnis bitten, es sei denn, du reproduzierst einen großen Teil des Codes. Wenn du zum Beispiel ein Programm schreibst, das mehrere Teile des Codes aus diesem Buch verwendet, brauchst du keine Erlaubnis. Wenn du Beispiele aus O'Reilly-Büchern verkaufst oder weitergibst, brauchst du eine Erlaubnis. Wenn du eine Frage beantwortest, indem du dieses Buch zitierst und Beispielcode angibst, brauchst du keine Erlaubnis. Wenn du einen großen Teil des Beispielcodes aus diesem Buch in die Dokumentation deines Produkts einbaust, brauchst du eine Erlaubnis.

Wir freuen uns über eine Namensnennung, verlangen sie aber nicht. Eine Namensnennung umfasst in der Regel den Titel, den Autor, den Verlag und die ISBN. Zum Beispiel: "Introducing Python by Bill Lubanovic (O'Reilly). Copyright 2020 Bill Lubanovic, 978-1-492-05136-7."

Wenn du der Meinung bist, dass deine Verwendung von Codebeispielen nicht unter die Fair-Use-Regelung oder die hier erteilte Erlaubnis fällt, kannst du uns gerne unter permissions@oreilly.com kontaktieren .

O'Reilly Online Learning

Hinweis

Seit über 40 Jahren bietet O'Reilly Media Schulungen, Wissen und Einblicke in Technologie und Wirtschaft, um Unternehmen zum Erfolg zu verhelfen.

Unser einzigartiges Netzwerk von Experten und Innovatoren teilt sein Wissen und seine Erfahrung durch Bücher, Artikel, Konferenzen und unsere Online-Lernplattform. Die Online-Lernplattform von O'Reilly bietet dir On-Demand-Zugang zu Live-Trainingskursen, ausführlichen Lernpfaden, interaktiven Programmierumgebungen und einer umfangreichen Text- und Videosammlung von O'Reilly und über 200 anderen Verlagen. Weitere Informationen findest du unter http://oreilly.com.

Wie du uns kontaktierst

Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:

  • O'Reilly Media, Inc.
  • 1005 Gravenstein Highway Nord
  • Sebastopol, CA 95472
  • 800-998-9938 (in den Vereinigten Staaten oder Kanada)
  • 707-829-0515 (international oder lokal)
  • 707-829-0104 (Fax)

Wir haben eine Webseite für dieses Buch, auf der wir Errata, Beispiele und zusätzliche Informationen auflisten. Du kannst diese Seite unter https://oreil.ly/introducing-python-2e aufrufen .

Wenn du Kommentare oder technische Fragen zu diesem Buch stellen möchtest, sende eine E-Mail an

Weitere Informationen zu unseren Büchern, Kursen, Konferenzen und Neuigkeiten findest du auf unserer Website unter http://www.oreilly.com.

Finde uns auf Facebook: http://facebook.com/oreilly

Folge uns auf Twitter: http://twitter.com/oreillymedia

Schau uns auf YouTube: http://www.youtube.com/oreillymedia

Danksagungen

Mein aufrichtiger Dank gilt den Rezensenten und Lesern, die dazu beigetragen haben, dies zu verbessern:

Corbin Collins, Charles Givre, Nathan Stocks, Dave George, und Mike James

Get Einführung in Python, 2. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.