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 . . . 333
10. 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 . . . 399
11. 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