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
Inhaltsverzeichnis
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