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 . . . 13TEIL 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 . . . 15110. 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 . . . 17711. 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 . . . 19012. 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 . . . 22613. 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 . . . 24314. 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 . . . 265TEIL II. Python anwenden . . . 26715. 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 . . . 29216. Netzwerkfunktionen . . . 293 16. 1 . . . Download und Upload von Dateien . . . 293 16. 2 . . . REST-APIs nutzen . . . 297 16. 3 . . . Mails versenden . . . 30117. 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 . . . 31718. 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 . . . 33619. 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 . . . 35720. 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