E-Book, Deutsch, 378 Seiten
Reihe: Animals
Downey Python lernen mit KI-Tools
1. Auflage 2024
ISBN: 978-3-96010-893-1
Verlag: dpunkt.verlag
Format: EPUB
Kopierschutz: 6 - ePub Watermark
Einstieg in die Programmierung mit KI-Unterstützung
E-Book, Deutsch, 378 Seiten
Reihe: Animals
ISBN: 978-3-96010-893-1
Verlag: dpunkt.verlag
Format: EPUB
Kopierschutz: 6 - ePub Watermark
Allen B. Downey ist Redakteur bei Brilliant und emeritierter Professor für Informatik am Olin College of Engineering, Massachusetts. Er hat am Wellesley- und am Colby-College und an der Universität von Berkeley Informatik unterrichtet. Seinen Doktortitel in Informatik hat er an der U.C. Berkeley erworben, seinen Master am MIT. Seine zahlreichen bei O'Reilly erschienenen Bücher sind bekannt für ihre ausgefeilte und praxiserprobte Didaktik.
Fachgebiete
Weitere Infos & Material
Vorwort
Für wen ist dieses Buch gedacht?
Wenn Sie programmieren lernen möchten, sind Sie hier genau richtig. Die Programmiersprache Python ist für Anfängerinnen und Anfänger bestens geeignet – und eine der am häufigsten nachgefragten Fähigkeiten.
Außerdem sind Sie genau zur richtigen Zeit gekommen, denn es war wohl nie einfacher, programmieren zu lernen. Mit virtuellen Assistenten, wie ChatGPT, müssen Sie nicht mehr allein lernen. In den einzelnen Kapiteln werde ich Ihnen immer wieder Vorschläge dazu machen, wie Sie diese KI-Tools nutzen können, um Ihr Lernen zu beschleunigen.
Dieses Buch ist hauptsächlich für Menschen gedacht, die noch nie programmiert haben, sowie für diejenigen, die schon etwas Erfahrung in einer anderen Programmiersprache mitbringen. Wenn Sie sich bereits gut mit Python auskennen, werden Ihnen die ersten paar Kapitel möglicherweise zu langsam vorkommen.
Eine der Herausforderungen beim Programmierenlernen liegt darin, dass Sie eigentlich Sprachen lernen müssen: zum einen die Programmiersprache selbst und zum anderen das Vokabular, das wir nutzen, um über Programme zu sprechen. Lernen Sie nur die Programmiersprache, werden Sie vermutlich Probleme bekommen, wenn Sie eine Fehlermeldung verstehen, die Dokumentation lesen, sich mit anderen über die Sprache austauschen oder virtuelle Assistenten verwenden möchten. Sofern Sie bereits etwas programmiert, sich aber nicht auch mit dieser zweiten Sprache beschäftigt haben, hoffe ich, dass dieses Buch für Sie hilfreich sein wird.
Ziele dieses Buchs
Beim Schreiben dieses Buchs habe ich versucht, vorsichtig mit der Fachsprache umzugehen. Ich definiere jeden Begriff bei seinem ersten Vorkommen. Außerdem gibt es am Ende jedes Kapitels ein Glossar, das die eingeführten Begriffe noch einmal zusammenfasst.
Darüber hinaus habe ich mich bemüht, die Dinge möglichst gut auf den Punkt zu bringen. Je weniger Hirnleistung nötig ist, um das Buch zu lesen, desto mehr bleibt für das Programmieren übrig.
Allerdings reicht es nicht aus, einfach nur ein Buch zu lesen, um programmieren zu lernen – ohne Training geht es nicht. Aus diesem Grund enthält das Buch am Ende jedes Kapitels Übungen, mit denen Sie das Gelernte vertiefen können.
Wenn Sie sorgfältig lesen und die Übungen konsequent durcharbeiten, werden Sie Fortschritte machen. Ich muss Sie allerdings warnen – programmieren ist nicht einfach und kann selbst für erfahrene Programmierer frustrierend sein. Im Verlauf dieses Buchs stelle ich Strategien vor, die Ihnen helfen sollen, korrekte Programme zu schreiben und inkorrekte zum Laufen zu bringen.
Orientierung in diesem Buch
Die Kapitel dieses Buchs bauen aufeinander auf. Daher sollten Sie sie nacheinander lesen und sich genug Zeit für die Übungen nehmen, bevor Sie weitermachen.
Die ersten sechs Kapitel stellen Grundelemente wie Arithmetik, Bedingungen und Schleifen vor. Zudem lernen Sie Funktionen kennen – das wichtigste Programmierkonzept überhaupt – und eine Möglichkeit, sie einzusetzen: die Rekursion.
In den Kapiteln 7 und 8 stelle ich Ihnen Strings – die Buchstaben, Wörter und Sätze enthalten können – und die Algorithmen für die Arbeit damit vor.
Danach mache ich Sie in den Kapiteln 9 bis 12 mit Pythons wichtigsten eingebauten Datenstrukturen bekannt – Listen, Dictionaries und Tupel. Dies sind sehr leistungsstarke Werkzeuge zum Schreiben effizienter Programme. In Kapitel 12 geht es um Algorithmen für die Textanalyse und die zufällige Erzeugung neuer Texte. Solche Algorithmen bilden auch den Kern von großen Sprachmodellen (, LLMs). Das heißt, in diesem Kapitel können Sie einen Eindruck davon bekommen, wie Werkzeuge wie ChatGPT funktionieren.
Kapitel 13 behandelt Möglichkeiten, Daten langfristig zu speichern, sowie Dateien und Datenbanken. Als Übung können Sie ein Programm schreiben, das ein Dateisystem nach Duplikaten von Dateien durchsucht.
In den Kapiteln 14 bis 17 geht es um die objektorientierte Programmierung (OOP). Dies ist eine Möglichkeit, Programme und die Daten, mit denen diese arbeiten, zu strukturieren. Viele Python-Bibliotheken sind objektorientiert aufgebaut. Diese Kapitel werden Ihnen helfen, ihren Aufbau zu verstehen und Ihre eigenen Objekte zu definieren.
Dieses Buch hat nicht den Anspruch, die Gesamtheit der Sprache Python abzudecken. Ich konzentriere mich vielmehr auf eine Untermenge der Sprache, um mit möglichst wenigen Konzepten möglichst viel auszudrücken. Zusätzlich besitzt Python eine große Zahl weiterer Sprachmerkmale, mit denen häufig auftretende Probleme effizient gelöst werden können. Einige davon werden in Kapitel 18 vorgestellt.
Zu guter Letzt finden Sie in Kapitel 19 meine abschließenden Gedanken und Vorschläge für die nächsten Schritte auf Ihrer Reise zur Programmiererin oder zum Programmierer.
Was gibt es Neues in der dritten Auflage?
Die größten Änderungen dieser Auflage betreffen zwei neue Technologien: Jupyter Notebooks und virtuelle Assistenten.
Jedes englischsprachige Kapitel dieses Buchs ist ein Jupyter Notebook, ein Dokument, das normalen Text und Code enthält. Das erleichtert es mir, den Code zu schreiben, ihn zu testen und dafür zu sorgen, dass er mit dem Text übereinstimmt. Das heißt, dass Sie an einem gemeinsamen Ort den Code ausführen, verändern und an den Übungen arbeiten können. Die Anweisungen für die Arbeit mit den Notebooks finden Sie weiter unten.
Die zweite große Änderung liegt darin, dass ich das Buch um Tipps für die Arbeit mit virtuellen Assistenten wie ChatGPT erweitert habe und wie diese Ihr Lernen beschleunigen können. Als die Vorgängerauflage dieses Buchs im Jahr 2015 veröffentlicht wurde, waren die Vorläufer dieser Werkzeuge längst nicht so hilfreich und den meisten Menschen noch gar nicht bekannt. Inzwischen gelten sie als Standardwerkzeuge für die Softwareentwicklung, und ich bin davon überzeugt, dass sie das Lernen der Programmierung – und einer Menge anderer Dinge – verändern werden.
Weitere Änderungen in diesem Buch resultieren daraus, dass mir bestimmte Inhalte in der zweiten Auflage gefehlt haben. Erstens habe ich das Testen von Software nicht genug betont. Allein das war schon 2015 ein bedauerlicher Fehler. Aber mit dem Aufkommen virtueller Assistenten wurde das automatisierte Testen immer wichtiger. Aus dem Grund stellt dieses Buch die beiden weitverbreiteten Testwerkzeuge doctest und unittest vor und bietet eine Reihe von Übungen für die Arbeit mit ihnen.
Ein weiterer Mangel bestand darin, dass die Übungen der Vorauflage nicht ausgeglichen waren. Einige waren interessanter als andere, und manche waren zu schwierig. Durch den Wechsel zu Jupyter Notebooks konnte ich ansprechendere und effektivere Übungen entwickeln und testen.
Die Abfolge der Themen dieser Auflage ist fast gleich geblieben; ich habe nur wenige Kapitel neu angeordnet und zwei sehr kurze Kapitel zu einem zusammengefasst. Außerdem habe ich die Behandlung von Strings um das Thema der regulären Ausdrücke erweitert.
In einigen Kapiteln verwende ich -Grafiken. In den vorherigen Auflagen habe ich hierfür Pythons turtle-Modul genutzt, das leider nicht in Jupyter Notebooks funktioniert. Daher habe ich es durch ein neues -Modul ersetzt, das leichter zu benutzen sein sollte.
Einen großen Teil des Texts habe ich neu geschrieben. Wo es nötig war, habe ich klarer formuliert und gekürzt, um nur so viel zu sagen, wie wirklich nötig ist.
Ich bin auch auf diese neue Auflage sehr stolz und hoffe, sie gefällt Ihnen!
Erste Schritte
Für die meisten Programmiersprachen, inklusive Python, gibt es eine große Zahl von Werkzeugen, mit denen Sie Programme schreiben und ausführen können. Diese Werkzeuge heißen , englisch oder einfach . Allgemein gibt es zwei Arten von IDEs:
- Einige arbeiten mit Dateien, die Programmiercode enthalten. Die IDEs stellen die nötigen Werkzeuge für das Bearbeiten und Ausführen dieser Dateien zur Verfügung.
- Andere arbeiten hauptsächlich mit Notebooks. Das sind Dokumente, die Text und Code enthalten können.
Anfängern empfehle ich, mit einer Notebook-basierten Entwicklungsumgebung wie Jupyter zu beginnen. Die englischsprachigen Notebooks für dieses Buch finden Sie in meinem Online-Repository für dieses Buch unter der Adresse . Sie können die...