Vorwort

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

Für wen ist dieses Buch?

Wenn du programmieren lernen willst, bist du hier genau richtig. Python ist eine der besten Programmiersprachen für Anfänger/innen - und auch eine der gefragtesten Fähigkeiten.

Außerdem kommst du genau zum richtigen Zeitpunkt, denn Programmieren zu lernen ist jetzt wahrscheinlich einfacher denn je. Mit virtuellen Assistenten wie ChatGPT musst du nicht mehr alleine lernen. In diesem Buch zeige ich dir, wie du diese Tools nutzen kannst, um dein Lernen zu beschleunigen.

Dieses Buch richtet sich in erster Linie an Menschen, die noch nie programmiert haben, und an Menschen, die schon etwas Erfahrung in einer anderen Programmiersprache haben. Wenn du schon viel Erfahrung mit Python hast, könnten dir die ersten Kapitel zu langsam sein.

Eine der Herausforderungen beim Programmierenlernen ist, dass du zwei Sprachen lernen musst: zum einen die Programmiersprache selbst und zum anderen das Vokabular, mit dem wir über Programme sprechen. Wenn du nur die Programmiersprache lernst, wirst du wahrscheinlich Probleme haben, wenn du eine Fehlermeldung interpretieren, die Dokumentation lesen, mit einer anderen Person sprechen oder virtuelle Assistenten benutzen musst. Wenn du schon programmiert hast, aber diese zweite Sprache noch nicht gelernt hast, hoffe ich, dass dir dieses Buch hilft.

Ziele des Buches

Beim Schreiben dieses Buches habe ich versucht, sorgfältig mit dem Vokabular umzugehen. Ich definiere jeden Begriff, wenn er zum ersten Mal auftaucht. Außerdem gibt es am Ende jedes Kapitels ein Glossar, in dem die eingeführten Begriffe erläutert werden.

Ich habe auch versucht, mich kurz zu fassen. Je weniger geistige Anstrengung es kostet, das Buch zu lesen, desto mehr Kapazität hast du für die Programmierung.

Aber du kannst das Programmieren nicht nur durch das Lesen eines Buches lernen - du musst es auch üben. Deshalb enthält dieses Buch am Ende jedes Kapitels Übungen, in denen du das Gelernte anwenden kannst.

Wenn du aufmerksam liest und konsequent an den Übungen arbeitest, wirst du Fortschritte machen. Aber ich warne dich schon jetzt: Programmieren zu lernen ist nicht einfach und selbst für erfahrene Programmierer kann es frustrierend sein. Im weiteren Verlauf werde ich dir Strategien vorschlagen, die dir helfen, korrekte Programme zu schreiben und falsche zu korrigieren.

Was ist neu in der dritten Ausgabe?

Die größten Änderungen in dieser Ausgabe wurden von zwei neuen Technologien angetrieben: Jupyter-Notebooks und virtuelle Assistenten.

Jedes Kapitel dieses Buches ist ein Jupyter-Notizbuch, also ein Dokument, das sowohl den normalen Text als auch den Code enthält. Das macht es für mich einfacher, den Code zu schreiben, zu testen und mit dem Text in Einklang zu bringen. Für dich bedeutet es, dass du den Code ausführen, ändern und an den Übungen arbeiten kannst - alles an einem Ort. Eine Anleitung für die Arbeit mit den Notizbüchern findest du im ersten Kapitel.

Die andere große Veränderung ist, dass ich Tipps für die Arbeit mit virtuellen Assistenten wie ChatGPT hinzugefügt habe, um dein Lernen zu beschleunigen. Als die vorherige Ausgabe dieses Buches im Jahr 2015 veröffentlicht wurde, waren die Vorgänger dieser Tools weit weniger nützlich und den meisten Leuten unbekannt. Jetzt sind sie ein Standardwerkzeug für die Softwareentwicklung und ich denke, dass sie ein transformierendes Werkzeug für das Programmierenlernen sein werden - und auch für viele andere Dinge.

Die anderen Änderungen im Buch sind auf mein Bedauern über die zweite Auflage zurückzuführen. Die erste ist, dass ich den Schwerpunkt nicht auf das Testen von Software gelegt habe. Das war schon 2015 ein bedauerliches Versäumnis, aber mit dem Aufkommen virtueller Assistenten sind automatisierte Tests noch wichtiger geworden. Deshalb werden in dieser Ausgabe die am weitesten verbreiteten Testwerkzeuge von Python vorgestellt, doctest und unittest, und es gibt mehrere Übungen, in denen du die Arbeit mit ihnen üben kannst.

Außerdem bedaure ich, dass die Übungen in der zweiten Ausgabe uneinheitlich waren - einige waren interessanter als andere und einige waren zu schwer. Der Wechsel zu Jupyter-Notebooks hat mir geholfen, eine ansprechendere und effektivere Abfolge von Übungen zu entwickeln und zu testen.

In dieser Überarbeitung ist die Reihenfolge der Themen fast identisch, aber ich habe einige Kapitel neu geordnet und zwei kurze Kapitel zu einem zusammengefasst. Außerdem habe ich die Behandlung von Strings um reguläre Ausdrücke erweitert.

In einigen Kapiteln kommen Schildkrötengrafiken zum Einsatz. In früheren Ausgaben habe ich das Python-Modul turtle verwendet, aber leider funktioniert es nicht in Jupyter-Notebooks. Deshalb habe ich es durch ein neues Schildkrötenmodul ersetzt, das einfacher zu verwenden sein sollte.

Schließlich habe ich einen großen Teil des Textes umgeschrieben, indem ich die Stellen, die es nötig hatten, klarer formuliert und an den Stellen, an denen ich nicht so prägnant war, wie ich es hätte sein können, gekürzt habe.

Ich bin sehr stolz auf diese neue Ausgabe - ich hoffe, sie gefällt dir!

Erste Schritte

Für die meisten Programmiersprachen, darunter auch Python, gibt es viele Werkzeuge, mit denen du Programme schreiben und ausführen kannst. Diese Werkzeuge werden integrierte Entwicklungsumgebungen (IDEs) genannt. Im Allgemeinen gibt es zwei Arten von IDEs:

  • Einige arbeiten mit Dateien, die Code enthalten, und bieten daher Werkzeuge zum Bearbeiten und Ausführen dieser Dateien.

  • Andere arbeiten hauptsächlich mit Notizbüchern, also mit Dokumenten, die Text und Code enthalten.

Anfängern empfehle ich, mit einer Notizbuch-Entwicklungsumgebung wie Jupyter zu beginnen. Die Notizbücher für dieses Buch sind in einem Online-Repository unter https://allendowney.github.io/ThinkPython verfügbar . Es gibt zwei Möglichkeiten, sie zu verwenden:

  • Du kannst die Notebooks herunterladen und sie auf deinem eigenen Computer ausführen. In diesem Fall musst du Python und Jupyter installieren. Das ist nicht schwer, aber wenn du Python lernen willst, kann es frustrierend sein, viel Zeit mit der Installation von Software zu verbringen.

  • Eine Alternative ist, die Notebooks auf Colab laufen zu lassen. Das ist eine Jupyter-Umgebung, die in einem Webbrowser läuft, sodass du nichts installieren musst. Colab wird von Google betrieben und kann kostenlos genutzt werden.

Wenn du gerade erst anfängst, empfehle ich dir dringend, mit Colab zu beginnen.

Ressourcen für Lehrkräfte

Wenn du mit diesem Buch unterrichtest, findest du hier einige Ressourcen, die du nützlich finden könntest.

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.

Kühn

Zeigt die erste Einführung eines neuen Fachbegriffs an, der auch einen entsprechenden Glossareintrag hat.

Constant width

Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.

Code-Beispiele verwenden

Zusätzliches Material (Code-Beispiele, Übungen usw.) steht unter https://allendowney.github.io/ThinkPython zum Download bereit .

Wenn du eine technische Frage oder ein Problem mit den Codebeispielen hast, sende bitte eine E-Mail an

Dieses Buch soll dir helfen, deine Arbeit zu erledigen. Wenn in diesem Buch Beispielcode angeboten wird, darfst du ihn in deinen Programmen und deiner Dokumentation verwenden. Du musst uns nicht um Erlaubnis fragen, 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. Der Verkauf oder die Verbreitung von Beispielen aus O'Reilly-Büchern erfordert jedoch eine Genehmigung. Die Beantwortung einer Frage mit einem Zitat aus diesem Buch und einem Beispielcode erfordert keine Genehmigung. Wenn du einen großen Teil des Beispielcodes aus diesem Buch in die Dokumentation deines Produkts aufnimmst, ist eine Genehmigung erforderlich.

Wir freuen uns über eine Namensnennung, verlangen sie aber in der Regel nicht. Eine Quellenangabe umfasst normalerweise den Titel, den Autor, den Verlag und die ISBN. Zum Beispiel: "Think Python von Allen B. Downey (O'Reilly). Copyright 2024 Allen B. Downey, 978-1-098-15543-8."

Wenn du der Meinung bist, dass deine Verwendung von Codebeispielen nicht unter die Fair-Use-Regelung oder die oben genannte Erlaubnis fällt, kannst du uns gerne unter kontaktieren

O'Reilly Online Learning

Hinweis

Seit mehr als 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 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 erhältst du unter https://oreilly.com.

Wie du uns kontaktierst

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

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/think-python-3e aufrufen .

Neuigkeiten und Informationen über unsere Bücher und Kurse findest du unter https://oreilly.com.

Finde uns auf LinkedIn: https://linkedin.com/company/oreilly-media

Schau uns auf YouTube: https://youtube.com/oreillymedia

Danksagungen

Vielen Dank an Jeff Elkner, der mein Java-Buch in Python übersetzt hat, das dieses Projekt ins Leben gerufen und mich in meine Lieblingssprache eingeführt hat. Vielen Dank auch an Chris Meyers, der mehrere Abschnitte zu How to Think Like a Computer Scientist (Green Tea Press) beigesteuert hat.

Danke an die Free Software Foundation für die Entwicklung der GNU Free Documentation License, die meine Zusammenarbeit mit Jeff und Chris ermöglicht hat, und an die Creative Commons für die Lizenz, die ich jetzt verwende.

Ich danke den Entwicklern und Betreuern der Sprache Python und der Bibliotheken, die ich verwendet habe, einschließlich des Turtle-Grafikmoduls; den Tools, die ich für die Entwicklung des Buches verwendet habe, einschließlich Jupyter und JupyterBook; und den Diensten, die ich genutzt habe, einschließlich ChatGPT, Copilot, Colab und GitHub.

Danke an die Redakteure bei Lulu, die an How to Think Like a Computer Scientist gearbeitet haben, und an die Redakteure bei O'Reilly Media, die an Think Python gearbeitet haben.

Mein besonderer Dank gilt den technischen Gutachtern für die zweite Ausgabe, Melissa Lewis und Luciano Ramalho, und für die dritte Ausgabe, Sam Lau und Luciano Ramalho (wieder!). Ich bin Luciano auch dankbar für die Entwicklung des Schildkrötengrafikmoduls, das ich in mehreren Kapiteln verwende, jupyturtle.

Vielen Dank an alle Schülerinnen und Schüler, die mit früheren Versionen dieses Buches gearbeitet haben, und an alle, die Korrekturen und Vorschläge eingesandt haben. Mehr als hundert scharfsichtige und aufmerksame Leserinnen und Leser haben in den letzten Jahren Vorschläge und Korrekturen eingesandt. Ihre Beiträge und ihre Begeisterung für dieses Projekt waren eine große Hilfe.

Wenn du einen Vorschlag oder eine Korrektur hast, schicke bitte eine E-Mail an feedback@thinkpython.com. Wenn du zumindest einen Teil des Satzes angibst, in dem der Fehler auftaucht, erleichtert das die Suche. Seiten- und Abschnittsnummern sind auch gut, aber nicht ganz so einfach zu handhaben. Vielen Dank!

Get Think Python, 3. 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.