Sie möchten Python lernen? Mit diesem Buch schaffen Sie es! Folgen Sie unserem Autor Thomas Theis bei der Entwicklung eines kleinen Spiels und lernen Sie ganz nebenbei das Basiswissen. Das Spiel wird immer weiter ausgebaut. Dabei lernen Sie die Oberflächen- und Datenbank-Programmierung kennen. Natürlich werden Sie auch mit der objektorientierten Programmierung vertraut gemacht.
Mit diesem Buch wird Ihnen der Einstieg in Python im wahrsten Sinne des Worts spielend gelingen. Ganz ohne Vorkenntnisse.
Aus dem Inhalt:
- Installation
- Python-Grundlagen
- Fehlerbehandlung
- Objektorientierte Programmierung (OOP)
- Multithreading
- Dateiverarbeitung
- Datenbankanwendungen mit SQLite und MySQL
- Grafische Benutzeroberflächen
- GUIs programmieren
Inhaltsverzeichnis
1. Einführung . . . 19 1. 1 . . . Vorteile von Python . . . 19 1. 2 . . . Verbreitung von Python . . . 20 1. 3 . . . Aufbau des Buchs . . . 20 1. 4 . . . Übungen . . . 21 1. 5 . . . Installation unter Windows . . . 22 1. 6 . . . Installation unter Ubuntu Linux . . . 23 1. 7 . . . Installation unter macOS . . . 23 2. Erste Schritte . . . 25 2. 1 . . . Python als Taschenrechner . . . 25 2. 2 . . . Erstes Programm . . . 30 2. 3 . . . Speichern und ausführen . . . 31 3. Programmierkurs . . . 37 3. 1 . . . Ein Spiel programmieren . . . 37 3. 2 . . . Variablen und Operatoren . . . 38 3. 3 . . . Verzweigungen . . . 45 3. 4 . . . Schleifen . . . 59 3. 5 . . . Entwicklung eines Programms . . . 73 3. 6 . . . Fehler und Ausnahmen . . . 74 3. 7 . . . Funktionen und Module . . . 79 3. 8 . . . Typhinweise . . . 86 3. 9 . . . Das fertige Spiel . . . 90 4. Datentypen . . . 95 4. 1 . . . Zahlen . . . 95 4. 2 . . . Zeichenketten . . . 114 4. 3 . . . Listen . . . 125 4. 4 . . . Tupel . . . 133 4. 5 . . . Dictionarys . . . 134 4. 6 . . . Sets, Mengen . . . 138 4. 7 . . . Wahrheitswerte und Nichts . . . 141 4. 8 . . . Referenz, Identität und Kopie . . . 144 4. 9 . . . Typhinweise . . . 148 5. Weiterführende Programmierung . . . 151 5. 1 . . . Allgemeines . . . 151 5. 2 . . . Ausgabe und Formatierung . . . 155 5. 3 . . . Funktionen für Iterables . . . 161 5. 4 . . . Verschlüsselung . . . 164 5. 5 . . . Fehler und Ausnahmen . . . 166 5. 6 . . . Funktionen . . . 174 5. 7 . . . Eingebaute Funktionen . . . 184 5. 8 . . . Weitere mathematische Module . . . 188 5. 9 . . . Eigene Module . . . 202 5. 10 . . . Parameter der Kommandozeile . . . 204 5. 11 . . . Programm »Bruchtraining« . . . 205 6. Objektorientierte Programmierung . . . 213 6. 1 . . . Grundlagen . . . 213 6. 2 . . . Fortgeschrittene Themen . . . 228 7. Verschiedene Module . . . 241 7. 1 . . . Datum und Uhrzeit . . . 241 7. 2 . . . Warteschlangen . . . 254 7. 3 . . . Multithreading . . . 260 7. 4 . . . Reguläre Ausdrücke . . . 266 7. 5 . . . Audioausgabe . . . 270 8. Dateien . . . 273 8. 1 . . . Das Öffnen und das Schließen einer Datei . . . 273 8. 2 . . . Textdateien . . . 274 8. 3 . . . Dateien mit festgelegter Struktur . . . 282 8. 4 . . . Serialisierung mit »pickle« . . . 286 8. 5 . . . Datenaustausch mit JSON . . . 289 8. 6 . . . Bearbeitung mehrerer Dateien . . . 292 8. 7 . . . Informationen über Dateien . . . 294 8. 8 . . . Dateien und Verzeichnisse verwalten . . . 295 8. 9 . . . Beispielprojekt Morsezeichen . . . 296 8. 10 . . . Spiel, Version mit Highscore-Datei . . . 300 8. 11 . . . Spiel, objektorientierte Version mit Highscore-Datei . . . 305 9. Datenbanken . . . 311 9. 1 . . . Aufbau von Datenbanken . . . 311 9. 2 . . . SQLite . . . 312 9. 3 . . . MySQL . . . 327 9. 4 . . . Spiel, Version mit Highscore-Datenbank . . . 331 9. 5 . . . Spiel, objektorientierte Version mit Highscore-Datenbank . . . 33310. Benutzeroberflächen . . . 337 10. 1 . . . Einführung . . . 337 10. 2 . . . Widget-Typen . . . 343 10. 3 . . . Bilder und Mausereignisse . . . 363 10. 4 . . . Geometrie-Manager »place« . . . 369 10. 5 . . . Menüs und Dialogfelder . . . 375 10. 6 . . . Zeichnungen und Animationen . . . 386 10. 7 . . . Spiel, GUI-Version . . . 393 10. 8 . . . Übungsaufgabe . . . 39911. Benutzeroberflächen mit PyQt . . . 403 11. 1 . . . Einführung . . . 403 11. 2 . . . Widget-Typen . . . 409 11. 3 . . . PyQt und SQLite . . . 442 11. 4 . . . Übungsaufgabe . . . 456 Anhang . . . 457 A. 1 . . . Installation zusätzlicher Module . . . 457 A. 2 . . . Erstellen von ausführbaren Dateien . . . 458 A. 3 . . . Installation von XAMPP . . . 459 A. 4 . . . UNIX-Befehle . . . 460 A. 5 . . . Tipps zur Entwicklung . . . 463 Index . . . 467