E-Book, Deutsch, 450 Seiten
Reihe: Rheinwerk Computing
Kofler Python
3. Auflage 2024
ISBN: 978-3-367-10120-7
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Der Grundkurs
E-Book, Deutsch, 450 Seiten
Reihe: Rheinwerk Computing
ISBN: 978-3-367-10120-7
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Diese Python-Einführung konzentriert sich auf das Wesentliche: Sie erfahren, wie Sie die Sprache in eigenen Projekten einsetzen, und lernen alle Grundlagen kennen - Datenstrukturen und Typen, Programmierlogik, den Umgang mit Modulen, die Vorteile der funktionalen und objektorientierten Programmierung. So erfahren Sie praxisgerecht, wie Sie mit Python Daten verarbeiten, wiederkehrende Aufgaben automatisieren und viele andere Probleme lösen.
Neu in dieser Auflage: Pair Programming mit ChatGPT und Python in Excel
Aus dem Inhalt:
- Hello World! Python installieren und einrichten
- Python lernen mit KI-Unterstützung
- Variablen, Datenstrukturen, Zeichenketten und Operatoren
- Listen, Tupel, Arrays, Sets und Dictionarys
- Verzweigungen und Schleifen, Umgang mit Fehlern
- Funktionen und funktionale Programmierung
- Objektorientierte Programmierung: Klassen, Konstrukte, Methoden
- Module und Python-Interna
- Daten lesen, schreiben und verarbeiten
- Python und die Systemadministration
- Grafikprogrammierung und Oberflächen
- Wissenschaftliches Arbeiten mit Python, Datenverarbeitung in Excel
Autoren/Hrsg.
Weitere Infos & Material
Vorwort ... 13
TEIL I. Python lernen ... 15 1. Hello, World! ... 17 1.1 ... Python installieren ... 17 1.2 ... »Hello, World!« in der Python-Shell ... 21 1.3 ... »Hello, World!« als eigenständiges Programm ... 24 1.4 ... Elementare Syntaxregeln ... 30 1.5 ... Wiederholungsfragen ... 36 2. Python lernen mit KI-Unterstützung ... 37 2.1 ... Mein Programm funktioniert nicht! Warum? ... 39 2.2 ... Mit welcher Funktion löse ich ein bestimmtes Problem? ... 46 2.3 ... Sprachkonzepte erklären ... 47 2.4 ... Programmieren mit ChatGPT ... 48 3. Variablen ... 55 3.1 ... Grundregeln ... 55 3.2 ... Datentypen ... 57 3.3 ... Gültigkeitsbereich von Variablen ... 58 3.4 ... Wiederholungsfragen ... 60 4. Operatoren ... 61 4.1 ... Überblick ... 61 4.2 ... Details und Sonderfälle ... 63 4.3 ... Wiederholungsfragen ... 70 5. Zahlen ... 71 5.1 ... Ganze Zahlen ... 72 5.2 ... FlieT1ss kommazahlen ... 74 5.3 ... Komplexe Zahlen, Brüche und Festkommazahlen ... 76 5.4 ... Boolesche Werte ... 78 5.5 ... Wiederholungsfragen ... 79 6. Zeichenketten ... 80 6.1 ... Grundregeln ... 80 6.2 ... Zugriff auf Teilzeichenketten ... 84 6.3 ... Zeichenkettenfunktionen ... 86 6.4 ... Zeichenketten formatieren und konvertieren ... 89 6.5 ... Lokalisierung ... 94 6.6 ... Reguläre Ausdrücke ... 97 6.7 ... Wiederholungsfragen und Übungen ... 99 7. Datum und Zeit ... 100 7.1 ... Zeit ermitteln und darstellen ... 100 7.2 ... Mit Zeiten rechnen ... 105 7.3 ... Wiederholungsfragen und Übungen ... 107 8. Listen, Tupel, Sets und Dictionaries ... 108 8.1 ... Listen ... 109 8.2 ... Funktionen zur Verarbeitung von Listen ... 112 8.3 ... Tupel (Sequenzen) ... 119 8.4 ... Sets (Mengen) ... 122 8.5 ... Dictionaries ... 124 8.6 ... Arrays ... 128 8.7 ... Wiederholungsfragen und Übungen ... 130 9. Verzweigungen und Schleifen ... 131 9.1 ... »if«-Verzweigung ... 131 9.2 ... Beispiel: Schaltjahrtest ... 135 9.3 ... »for«-Schleife ... 136 9.4 ... »while«-Schleife ... 144 9.5 ... Beispiele für Schleifen ... 145 9.6 ... Pattern Matching ... 150 9.7 ... Wiederholungsfragen und Übungen ... 151
10. Funktionen ... 153 10.1 ... Eigene Funktionen definieren ... 154 10.2 ... Lokale und globale Variablen ... 158 10.3 ... Parameter ... 161 10.4 ... Rekursion ... 167 10.5 ... Lambda-Funktionen ... 169 10.6 ... Funktionale Programmierung ... 171 10.7 ... Generatoren ... 174 10.8 ... Wiederholungsfragen und Übungen ... 177
11. Umgang mit Fehlern (Exceptions) ... 180 11.1 ... Fehlerabsicherung mit »try« und »except« ... 181 11.2 ... Selbst Exceptions auslösen (»raise«) ... 187 11.3 ... Programmunterbrechungen abfangen ... 187 11.4 ... Wiederholungsfragen und Übungen ... 190
12. Objektorientierte Programmierung ... 192 12.1 ... Crashkurs ... 193 12.2 ... »Hello, Class!« ... 197 12.3 ... Klassen- und Instanzvariablen ... 201 12.4 ... Methoden ... 206 12.5 ... Operator Overloading ... 212 12.6 ... Datenklassen ... 216 12.7 ... Vererbung ... 218 12.8 ... Vererbungsbeispiel: Schachfiguren ... 220 12.9 ... Wiederholungsaufgaben und Übungen ... 226
13. Module ... 229 13.1 ... Module nutzen (»import«) ... 229 13.2 ... Modul-Interna ... 232 13.3 ... Module installieren (»pip«) ... 234 13.4 ... Eigene Module entwickeln ... 239 13.5 ... Wiederholungsfragen und Übungen ... 243
14. Interna ... 244 14.1 ... Python-Scripts ausführen ... 244 14.2 ... Interna der Variablenverwaltung ... 250 14.3 ... Garbage Collection ... 254 14.4 ... Shared References ... 256 14.5 ... Type Annotation ... 256 14.6 ... Namensräume erforschen ... 259 14.7 ... Python-Compiler ... 261 14.8 ... Systemfunktionen ... 262 14.9 ... Wiederholungsfragen ... 265
TEIL II. Python anwenden ... 267
15. Dateien lesen und schreiben ... 269 15.1 ... Verzeichnisse ... 269 15.2 ... Textdateien lesen und schreiben ... 275 15.3 ... Beispiel: Indexeinträge in Textdateien ändern ... 279 15.4 ... Standardeingabe und Standardausgabe ... 281 15.5 ... JSON-Dateien verarbeiten ... 283 15.6 ... XML-Dateien verarbeiten ... 287 15.7 ... Wiederholungsfragen und Übungen ... 292
16. Netzwerkfunktionen ... 293 16.1 ... Download und Upload von Dateien ... 293 16.2 ... REST-APIs nutzen ... 297 16.3 ... Mails versenden ... 301
17. Systemadministration ... 305 17.1 ... Linux-Kommandos aufrufen ... 305 17.2 ... Linux-Accounts einrichten ... 308 17.3 ... MySQL/MariaDB-Datenbankzugriff ... 312 17.4 ... Mehrere gleichartige Datenbanken analysieren ... 317
18. Grafische Benutzeroberflächen ... 321 18.1 ... »Hello, Qt!« ... 322 18.2 ... Buttons platzieren und nutzen ... 324 18.3 ... Textfelder, Grid-Layout und Nachrichtenboxen ... 328 18.4 ... Dateiauswahl ... 333 18.5 ... Listenfelder ... 336
19. Grafikprogrammierung ... 340 19.1 ... Grafische Grundfunktionen ... 340 19.2 ... Grafik in einem Widget ... 347 19.3 ... SpaT1ss mit Sinus und Cosinus ... 350 19.4 ... Temperaturkurve zeichnen ... 357
20. Wissenschaftliche Anwendung ... 364 20.1 ... Anaconda, IPython und Jupyter-Notebooks ... 364 20.2 ... NumPy ... 374 20.3 ... pandas ... 379 20.4 ... SciPy ... 384 20.5 ... Matplotlib ... 388 20.6 ... Python in Excel ... 396 A. Lösungen ... 405 A.1 ... Kapitel 1: »Hello, World!« ... 405 A.2 ... Kapitel 3: Variablen ... 406 A.3 ... Kapitel 4: Operatoren ... 407 A.4 ... Kapitel 5: Zahlen ... 408 A.5 ... Kapitel 6: Zeichenketten ... 409 A.6 ... Kapitel 7: Datum und Uhrzeit ... 411 A.7 ... Kapitel 8: Listen, Tupel, Sets und Dictionaries ... 413 A.8 ... Kapitel 9: Verzweigungen und Schleifen ... 417 A.9 ... Kapitel 10: Funktionen ... 421 A.10 ... Kapitel 11: Umgang mit Fehlern ... 426 A.11 ... Kapitel 12: Objektorientierte Programmierung ... 427 A.12 ... Kapitel 13: Module ... 432 A.13 ... Kapitel 14: Interna ... 433 A.14 ... Kapitel 15: Dateien lesen und schreiben ... 435 Index ... 439
1.3 »Hello, World!« als eigenständiges Programm
Nachdem Sie Python nun ein wenig kennengelernt haben, besteht Ihr nächstes Ziel darin, ein eigenständiges Programm zu entwickeln, das Hello, World! auf dem Bildschirm ausgibt. Im Prinzip reicht dazu ein beliebiger Editor wie Notepad++. Allerdings müssen Sie sich dann selbst um die Ausführung des Codes kümmern, was ein wenig mühsam ist (siehe auch Abschnitt 14.1).
Viel angenehmer ist es, Python mit einem für diese Sprache optimierten Programm zu erlernen: Ich empfehle Ihnen dafür den kostenlosen Editor Visual Studio Code (im Folgenden kurz VSCode). Wenn Sie später in die Profiliga aufsteigen, werden Sie sich vielleicht mit einer richtigen Python-Entwicklungsumgebung (z. B. PyCharm) oder mit den Jupyter-Notebooks (siehe Kapitel 20) anfreunden.
VSCode samt Python-Erweiterung installieren
Installationsdateien für das Programm VSCode finden Sie für alle gängigen Betriebssysteme auf der folgenden Website:
https://code.visualstudio.com/download
VSCode ist ein universeller Editor für alle erdenklichen Programmiersprachen. Sobald Sie ein erstes Python-Programm unter
Die Python-Erweiterung bringt zwei wesentliche Vorteile mit sich:
-
VSCode »versteht« damit Ihren Python-Code besser, hebt verschiedene Codekomponenten klarer hervor und hilft bei Codeumbauten.
-
VSCode sucht auf Ihrem Rechner nach der Python-Installation und blendet einen Run-Button ein, mit dem Sie Ihr Programm bequem mit einem Klick ausführen können.
VSCode-Schnelleinstieg
Dieses Buch ist nicht der richtige Ort für eine VSCode-Einführung. Im Internet finden Sie bei Bedarf eine Menge Tutorials. Ich beschränke mich hier auf zwei Tipps:
-
VSCode »denkt« in Verzeichnissen. Erstellen Sie auf Ihrem Rechner ein Verzeichnis für Ihre ersten Python-Experimente, unter Windows am besten innerhalb von Dokumente. In VSCode führen Sie dann File • Open Folder aus, um Ihr Verzeichnis zu öffnen. In der Folge können Sie alle Dateien in diesem Verzeichnis bequem bearbeiten. Um später Dateien aus einem anderen Verzeichnis zu öffnen, wiederholen Sie File • Open Folder.
-
Verwenden Sie beim Speichern neuer Codedateien die Kennung *.py. Spätestens dann erkennt VSCode, dass die Datei Python-Code enthält.
Das minimalistische Hello-World-Programm
Nachdem Sie in VSCode eine neue, noch leere Datei erzeugt haben, geben Sie die folgende Zeile ein und speichern die Datei als HelloWorld.py:
Sofern Sie die Python-Erweiterung installiert haben, können Sie das Programm mit dem Run-Button starten (siehe Abbildung 1.5).
Abbildung 1.5 »Hello, World!« im Editor »VSCode« unter macOS
Shebang-Zeile
Alle Beispieldateien zu diesem Buch beginnen mit der folgenden Zeile:
#!/usr/bin/env python3
In Abschnitt 14.1 erkläre ich Ihnen, dass diese Zeile den merkwürdigen Namen »Shebang« hat. Der Shebang ist erforderlich, um Python-Programme unter Linux und macOS eigenständig (ohne den Run-Button des Editors) auszuführen. Solange Sie das nicht vorhaben, können Sie auf diese Anweisung verzichten. Windows ignoriert die Zeile, dort ist nur die Kennung *.py wichtig.
Noch ein Beispiel
Selbst für Kapitel 1 ist die simple Ausgabe von Hello, World! ein wenig langweilig. Starten Sie nochmals einen Editor, geben Sie den folgenden Code ein, und speichern Sie das Programm unter dem Namen HelloName.py:
Wenn Sie das Programm ausführen, fragt es zuerst nach Ihrem Namen. Nachdem Sie ihn eingegeben haben, begrüßt das Programm Sie und zeigt das aktuelle Datum an (siehe Abbildung 1.6). Der Programmcode enthält eine Menge Anweisungen, die Sie noch nicht kennen, deren Bedeutung aber leicht zu verstehen ist:
-
import liest (aktiviert) zwei Python-Erweiterungen, die Module genannt werden. time stellt Funktionen zum Umgang mit Datum und Uhrzeit zur Verfügung. locale kümmert sich um die Lokalisierung, also um die Anpassung an landessprachliche Besonderheiten.
-
Die Funktion input gibt die angegebene Zeichenkette am Bildschirm aus und nimmt dann eine Eingabe entgegen. Im Beispielprogramm wird diese Eingabe in der Variablen name gespeichert.
-
print gibt Hallo %s! aus, wobei %s aber durch den Inhalt der nachfolgend genannten Variablen ersetzt wird.
-
locale.setlocale(...) sagt Python, dass es deutsche Spracheinstellungen anwenden soll. Ohne diese Anweisung verwendet Python standardmäßig eine englische Lokalisierung und würde den Wochentag auf Englisch ausgeben.
-
time.strftime(...) ist eine Methode, die Datums- und Zeitdaten in der jeweiligen Landessprache formatiert. Das Ergebnis wird in einer zweiten Variablen, time, gespeichert.
-
print gibt schließlich den Inhalt dieser Variablen aus.
Abbildung 1.6 Ein etwas komplexeres Programm in »VSCode«
Selbstverständlich werden Sie alle hier aufgezählten Sprachelemente von Python in den folgenden Kapiteln noch im Detail kennenlernen.
Beispieldateien zum Buch
Viele Listings in diesem Buch sind nur wenige Zeilen lang. Sie können die Anweisungen direkt im Python-Interpreter ausprobieren.
Daneben gibt es aber auch längere Listings, die wie das vorige Beispiel in einer Datei zu speichern sind. Solche Listings beginnen mit dem Kommentar # Beispieldatei name.py. Das bedeutet, dass Sie sich die Tipparbeit sparen können. Sie finden die entsprechende Datei in den Beispieldateien zum Buch im Verzeichnis für das betreffende Kapitel (also z. B. in kap06 für die Beispiele zu Kapitel 6). Die Beispieldateien zum Buch können Sie hier herunterladen:
»Richtige« Entwicklungsumgebungen
Wenn Sie Python gerade lernen, empfehle ich Ihnen, mit VSCode zu arbeiten oder vielleicht Thonny auszuprobieren (siehe https://thonny.org). Sie haben aber vielleicht schon gehört, dass fortgeschrittene Programmierer sogenannte Entwicklungsumgebungen (Integrated Development...