- Broschiertes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Diese Python-Einführung konzentriert sich auf das Wesentliche und zeigt Ihnen, wie Sie die Sprache in eigenen Projekten einsetzen. Sie 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, den Raspberry Pi ansteuern, wiederkehrende Aufgaben automatisieren und vieles mehr.
Aus dem Inhalt:
Hello World! Python installieren und einrichtenVariablen, Datenstrukturen, Zeichenketten und OperatorenListen, Tupel,…mehr
Diese Python-Einführung konzentriert sich auf das Wesentliche und zeigt Ihnen, wie Sie die Sprache in eigenen Projekten einsetzen. Sie 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, den Raspberry Pi ansteuern, wiederkehrende Aufgaben automatisieren und vieles mehr.
Aus dem Inhalt:
Hello World! Python installieren und einrichtenVariablen, Datenstrukturen, Zeichenketten und OperatorenListen, Tupel, Arrays, Sets und DictionarysVerzweigungen und Schleifen, Umgang mit FehlernFunktionen und funktionale ProgrammierungObjektorientierte Programmierung: Klassen, Konstrukte, MethodenModule und Python-InternaDaten lesen, schreiben und verarbeitenPython und die SystemadministrationGrafikprogrammierung und OberfächenDen Raspberry Pi mit Python steuernWissenschaftliches Arbeiten mit Python
Aus dem Inhalt:
Hello World! Python installieren und einrichtenVariablen, Datenstrukturen, Zeichenketten und OperatorenListen, Tupel, Arrays, Sets und DictionarysVerzweigungen und Schleifen, Umgang mit FehlernFunktionen und funktionale ProgrammierungObjektorientierte Programmierung: Klassen, Konstrukte, MethodenModule und Python-InternaDaten lesen, schreiben und verarbeitenPython und die SystemadministrationGrafikprogrammierung und OberfächenDen Raspberry Pi mit Python steuernWissenschaftliches Arbeiten mit Python
Produktdetails
- Produktdetails
- Rheinwerk Computing
- Verlag: Rheinwerk Verlag
- Artikelnr. des Verlages: 459/06679
- Seitenzahl: 464
- Erscheinungstermin: 26. Oktober 2018
- Deutsch
- Abmessung: 192mm x 126mm x 23mm
- Gewicht: 510g
- ISBN-13: 9783836266796
- ISBN-10: 3836266792
- Artikelnr.: 53015340
- Herstellerkennzeichnung Die Herstellerinformationen sind derzeit nicht verfügbar.
- Rheinwerk Computing
- Verlag: Rheinwerk Verlag
- Artikelnr. des Verlages: 459/06679
- Seitenzahl: 464
- Erscheinungstermin: 26. Oktober 2018
- Deutsch
- Abmessung: 192mm x 126mm x 23mm
- Gewicht: 510g
- ISBN-13: 9783836266796
- ISBN-10: 3836266792
- Artikelnr.: 53015340
- Herstellerkennzeichnung Die Herstellerinformationen sind derzeit nicht verfügbar.
Kofler, MichaelDr. Michael Kofler studierte Telematik an der TU Graz. Er zählt zu den erfolgreichsten und vielseitigsten Computerbuchautoren im deutschen Sprachraum. Zu seinen Themengebieten zählen neben Linux auch macOS, MySQL, KVM, Visual Basic und Excel-VBA. Viele seiner Bücher wurden übersetzt. Michael Kofler arbeitet auch als Software-Entwickler, Berater sowie als Lehrbeauftragter an einer Fachhochschule.
Vorwort ... 21
TEIL I Python lernen ... 23
1. Hello, World! ... 25
1.1 ... Python installieren ... 26
1.2 ... »Hello, World!« in der Python-Shell ... 31
1.3 ... »Hello, World!« als eigenständiges Script ... 34
1.4 ... Entwicklungsumgebungen (IDEs) ... 42
1.5 ... Elementare Syntaxregeln ... 45
1.6 ... Wiederholungsfragen ... 52
2. Variablen ... 53
2.1 ... Grundregeln ... 53
2.2 ... Datentypen ... 55
2.3 ... Gültigkeitsbereich von Variablen ... 62
2.4 ... Wiederholungsfragen ... 64
3. Operatoren ... 65
3.1 ... Überblick ... 65
3.2 ... Details und Sonderfälle ... 67
3.3 ... Wiederholungsfragen ... 73
4. Zahlen ... 74
4.1 ... Ganze Zahlen ... 75
4.2 ... Fließ kommazahlen ... 77
4.3 ... Komplexe Zahlen, Brüche und Festkommazahlen ... 79
4.4 ... Boolesche Werte ... 81
4.5 ... Wiederholungsfragen ... 82
5. Zeichenketten ... 83
5.1 ... Grundregeln ... 83
5.2 ... Zugriff auf Teilzeichenketten ... 86
5.3 ... Zeichenkettenfunktionen ... 88
5.4 ... Zeichenketten formatieren und konvertieren ... 92
5.5 ... Lokalisierung ... 97
5.6 ... Reguläre Ausdrücke ... 100
5.7 ... Wiederholungsfragen und Übungen ... 102
6. Datum und Zeit ... 103
6.1 ... Zeit ermitteln und darstellen ... 103
6.2 ... Mit Zeiten rechnen ... 108
6.3 ... Wiederholungsfragen und Übungen ... 110
7. Listen, Tupel, Sets und Dictionaries ... 111
7.1 ... Listen ... 112
7.2 ... Funktionen zur Verarbeitung von Listen ... 115
7.3 ... Tupel (Sequenzen) ... 122
7.4 ... Sets (Mengen) ... 125
7.5 ... Dictionaries ... 127
7.6 ... Type Annotations ... 130
7.7 ... Arrays ... 131
7.8 ... Wiederholungsfragen und Übungen ... 133
8. Verzweigungen und Schleifen ... 134
8.1 ... »if«-Verzweigung ... 134
8.2 ... Beispiel: Schaltjahrtest ... 138
8.3 ... »for«-Schleife ... 139
8.4 ... »while«-Schleife ... 147
8.5 ... Beispiele für Schleifen ... 148
8.6 ... Wiederholungsfragen und Übungen ... 153
9. Funktionen ... 155
9.1 ... Eigene Funktionen definieren ... 156
9.2 ... Lokale und globale Variablen ... 160
9.3 ... Parameter ... 164
9.4 ... Rekursion ... 169
9.5 ... Lambda-Funktionen ... 171
9.6 ... Funktionale Programmierung ... 173
9.7 ... Generatoren ... 176
9.8 ... Wiederholungsfragen und Übungen ... 179
10. Umgang mit Fehlern (Exceptions) ... 182
10.1 ... Fehlerabsicherung mit »try« und »except« ... 183
10.2 ... Selbst Exceptions auslösen (»raise«) ... 189
10.3 ... Programmunterbrechungen abfangen ... 189
10.4 ... Wiederholungsfragen und Übungen ... 192
11. Objektorientierte Programmierung ... 194
11.1 ... Crashkurs ... 195
11.2 ... »Hello, Class!« ... 199
11.3 ... Klassen- und Instanzvariablen ... 203
11.4 ... Methoden ... 208
11.5 ... Operator Overloading ... 214
11.6 ... Unveränderliche Objekte ... 219
11.7 ... Datenklassen ... 221
11.8 ... Vererbung ... 223
11.9 ... Wiederholungsaufgaben und Übungen ... 230
12. Module ... 234
12.1 ... Module nutzen (»import«) ... 234
12.2 ... Modul-Interna ... 237
12.3 ... Module installieren (»pip«) ... 240
12.4 ... Eigene Module entwickeln ... 244
12.5 ... Wiederholungsfragen und Übungen ... 247
13. Interna ... 249
13.1 ... Garbage Collection ... 249
13.2 ... Shared References ... 250
13.3 ... Namensräume erforschen ... 252
13.4 ... Python-Compiler ... 254
13.5 ... Systemfunktionen ... 255
13.6 ... Python 2 ... 258
TEIL II Python anwenden ... 263
14. Dateien lesen und schreiben ... 265
14.1 ... Verzeichnisse ... 265
14.2 ... Textdateien lesen und schreiben ... 270
14.3 ... Beispiel: Indexeinträge in Textdateien ändern ... 275
14.4 ... Standardeingabe und Standardausgabe ... 277
14.5 ... JSON-Dateien verarbeiten ... 279
14.6 ... XML-Dateien verarbeiten ... 283
14.7 ... Wiederholungsfragen und Übungen ... 288
15. Netzwerkfunktionen ... 289
15.1 ... Download und Upload von Dateien ... 289
15.2 ... Mails versenden ... 293
15.3 ... Dropbox ... 296
15.4 ... Twitter ... 300
16. Systemadministration ... 303
16.1 ... Linux-Kommandos aufrufen ... 303
16.2 ... Linux-Accounts einrichten ... 307
16.3 ... MySQL/MariaDB-Datenbankzugriff ... 310
16.4 ... Mehrere gleichartige Datenbanken analysieren ... 315
17. Raspberry Pi ... 319
17.1 ... GPIO-Zugriff mit RPi.GPIO ... 320
17.2 ... LED-Ampel für die CPU-Temperatur ... 327
17.3 ... GPIO-Zugriff mit »gpiozero« ... 330
17.4 ... Sense HAT ... 332
18. Grafische Benutzeroberflächen ... 339
18.1 ... »Hello, Qt!« ... 340
18.2 ... Buttons platzieren und nutzen ... 343
18.3 ... Textfelder, Grid-Layout und Nachrichtenboxen ... 347
18.4 ... Dateiauswahl ... 352
18.5 ... Listenfelder ... 355
18.6 ... Oberfläche zur GPIO-Steuerung ... 359
19. Grafikprogrammierung ... 363
19.1 ... Grafische Grundfunktionen ... 364
19.2 ... Grafik in einem Widget ... 370
19.3 ... Spaß mit Sinus und Cosinus ... 373
19.4 ... Temperaturkurve anzeigen ... 379
20. Wissenschaftliche Anwendung ... 386
20.1 ... Anaconda, IPython und Jupyter-Notebooks ... 387
20.2 ... NumPy ... 395
20.3 ... pandas ... 400
20.4 ... SciPy ... 406
20.5 ... Matplotlib ... 409
Anhang ... 419
A. Lösungen ... 419
A.1 ... Kapitel 1: »Hello, World!« ... 419
A.2 ... Kapitel 2: Variablen ... 421
A.3 ... Kapitel 3: Operatoren ... 423
A.4 ... Kapitel 4: Zahlen ... 423
A.5 ... Kapitel 5: Zeichenketten ... 425
A.6 ... Kapitel 6: Datum und Uhrzeit ... 426
A.7 ... Kapitel 7: Listen, Tupel, Sets und Dictionaries ... 428
A.8 ... Kapitel 8: Verzweigungen und Schleifen ... 432
A.9 ... Kapitel 9: Funktionen ... 436
A.10 ... Kapitel 10: Umgang mit Fehlern ... 441
A.11 ... Kapitel 11: Objektorientierte Programmierung ... 442
A.12 ... Kapitel 12: Module ... 447
A.13 ... Kapitel 14: Dateien lesen und schreiben ... 448
Index ... 453
TEIL I Python lernen ... 23
1. Hello, World! ... 25
1.1 ... Python installieren ... 26
1.2 ... »Hello, World!« in der Python-Shell ... 31
1.3 ... »Hello, World!« als eigenständiges Script ... 34
1.4 ... Entwicklungsumgebungen (IDEs) ... 42
1.5 ... Elementare Syntaxregeln ... 45
1.6 ... Wiederholungsfragen ... 52
2. Variablen ... 53
2.1 ... Grundregeln ... 53
2.2 ... Datentypen ... 55
2.3 ... Gültigkeitsbereich von Variablen ... 62
2.4 ... Wiederholungsfragen ... 64
3. Operatoren ... 65
3.1 ... Überblick ... 65
3.2 ... Details und Sonderfälle ... 67
3.3 ... Wiederholungsfragen ... 73
4. Zahlen ... 74
4.1 ... Ganze Zahlen ... 75
4.2 ... Fließ kommazahlen ... 77
4.3 ... Komplexe Zahlen, Brüche und Festkommazahlen ... 79
4.4 ... Boolesche Werte ... 81
4.5 ... Wiederholungsfragen ... 82
5. Zeichenketten ... 83
5.1 ... Grundregeln ... 83
5.2 ... Zugriff auf Teilzeichenketten ... 86
5.3 ... Zeichenkettenfunktionen ... 88
5.4 ... Zeichenketten formatieren und konvertieren ... 92
5.5 ... Lokalisierung ... 97
5.6 ... Reguläre Ausdrücke ... 100
5.7 ... Wiederholungsfragen und Übungen ... 102
6. Datum und Zeit ... 103
6.1 ... Zeit ermitteln und darstellen ... 103
6.2 ... Mit Zeiten rechnen ... 108
6.3 ... Wiederholungsfragen und Übungen ... 110
7. Listen, Tupel, Sets und Dictionaries ... 111
7.1 ... Listen ... 112
7.2 ... Funktionen zur Verarbeitung von Listen ... 115
7.3 ... Tupel (Sequenzen) ... 122
7.4 ... Sets (Mengen) ... 125
7.5 ... Dictionaries ... 127
7.6 ... Type Annotations ... 130
7.7 ... Arrays ... 131
7.8 ... Wiederholungsfragen und Übungen ... 133
8. Verzweigungen und Schleifen ... 134
8.1 ... »if«-Verzweigung ... 134
8.2 ... Beispiel: Schaltjahrtest ... 138
8.3 ... »for«-Schleife ... 139
8.4 ... »while«-Schleife ... 147
8.5 ... Beispiele für Schleifen ... 148
8.6 ... Wiederholungsfragen und Übungen ... 153
9. Funktionen ... 155
9.1 ... Eigene Funktionen definieren ... 156
9.2 ... Lokale und globale Variablen ... 160
9.3 ... Parameter ... 164
9.4 ... Rekursion ... 169
9.5 ... Lambda-Funktionen ... 171
9.6 ... Funktionale Programmierung ... 173
9.7 ... Generatoren ... 176
9.8 ... Wiederholungsfragen und Übungen ... 179
10. Umgang mit Fehlern (Exceptions) ... 182
10.1 ... Fehlerabsicherung mit »try« und »except« ... 183
10.2 ... Selbst Exceptions auslösen (»raise«) ... 189
10.3 ... Programmunterbrechungen abfangen ... 189
10.4 ... Wiederholungsfragen und Übungen ... 192
11. Objektorientierte Programmierung ... 194
11.1 ... Crashkurs ... 195
11.2 ... »Hello, Class!« ... 199
11.3 ... Klassen- und Instanzvariablen ... 203
11.4 ... Methoden ... 208
11.5 ... Operator Overloading ... 214
11.6 ... Unveränderliche Objekte ... 219
11.7 ... Datenklassen ... 221
11.8 ... Vererbung ... 223
11.9 ... Wiederholungsaufgaben und Übungen ... 230
12. Module ... 234
12.1 ... Module nutzen (»import«) ... 234
12.2 ... Modul-Interna ... 237
12.3 ... Module installieren (»pip«) ... 240
12.4 ... Eigene Module entwickeln ... 244
12.5 ... Wiederholungsfragen und Übungen ... 247
13. Interna ... 249
13.1 ... Garbage Collection ... 249
13.2 ... Shared References ... 250
13.3 ... Namensräume erforschen ... 252
13.4 ... Python-Compiler ... 254
13.5 ... Systemfunktionen ... 255
13.6 ... Python 2 ... 258
TEIL II Python anwenden ... 263
14. Dateien lesen und schreiben ... 265
14.1 ... Verzeichnisse ... 265
14.2 ... Textdateien lesen und schreiben ... 270
14.3 ... Beispiel: Indexeinträge in Textdateien ändern ... 275
14.4 ... Standardeingabe und Standardausgabe ... 277
14.5 ... JSON-Dateien verarbeiten ... 279
14.6 ... XML-Dateien verarbeiten ... 283
14.7 ... Wiederholungsfragen und Übungen ... 288
15. Netzwerkfunktionen ... 289
15.1 ... Download und Upload von Dateien ... 289
15.2 ... Mails versenden ... 293
15.3 ... Dropbox ... 296
15.4 ... Twitter ... 300
16. Systemadministration ... 303
16.1 ... Linux-Kommandos aufrufen ... 303
16.2 ... Linux-Accounts einrichten ... 307
16.3 ... MySQL/MariaDB-Datenbankzugriff ... 310
16.4 ... Mehrere gleichartige Datenbanken analysieren ... 315
17. Raspberry Pi ... 319
17.1 ... GPIO-Zugriff mit RPi.GPIO ... 320
17.2 ... LED-Ampel für die CPU-Temperatur ... 327
17.3 ... GPIO-Zugriff mit »gpiozero« ... 330
17.4 ... Sense HAT ... 332
18. Grafische Benutzeroberflächen ... 339
18.1 ... »Hello, Qt!« ... 340
18.2 ... Buttons platzieren und nutzen ... 343
18.3 ... Textfelder, Grid-Layout und Nachrichtenboxen ... 347
18.4 ... Dateiauswahl ... 352
18.5 ... Listenfelder ... 355
18.6 ... Oberfläche zur GPIO-Steuerung ... 359
19. Grafikprogrammierung ... 363
19.1 ... Grafische Grundfunktionen ... 364
19.2 ... Grafik in einem Widget ... 370
19.3 ... Spaß mit Sinus und Cosinus ... 373
19.4 ... Temperaturkurve anzeigen ... 379
20. Wissenschaftliche Anwendung ... 386
20.1 ... Anaconda, IPython und Jupyter-Notebooks ... 387
20.2 ... NumPy ... 395
20.3 ... pandas ... 400
20.4 ... SciPy ... 406
20.5 ... Matplotlib ... 409
Anhang ... 419
A. Lösungen ... 419
A.1 ... Kapitel 1: »Hello, World!« ... 419
A.2 ... Kapitel 2: Variablen ... 421
A.3 ... Kapitel 3: Operatoren ... 423
A.4 ... Kapitel 4: Zahlen ... 423
A.5 ... Kapitel 5: Zeichenketten ... 425
A.6 ... Kapitel 6: Datum und Uhrzeit ... 426
A.7 ... Kapitel 7: Listen, Tupel, Sets und Dictionaries ... 428
A.8 ... Kapitel 8: Verzweigungen und Schleifen ... 432
A.9 ... Kapitel 9: Funktionen ... 436
A.10 ... Kapitel 10: Umgang mit Fehlern ... 441
A.11 ... Kapitel 11: Objektorientierte Programmierung ... 442
A.12 ... Kapitel 12: Module ... 447
A.13 ... Kapitel 14: Dateien lesen und schreiben ... 448
Index ... 453
Vorwort ... 21
TEIL I Python lernen ... 23
1. Hello, World! ... 25
1.1 ... Python installieren ... 26
1.2 ... »Hello, World!« in der Python-Shell ... 31
1.3 ... »Hello, World!« als eigenständiges Script ... 34
1.4 ... Entwicklungsumgebungen (IDEs) ... 42
1.5 ... Elementare Syntaxregeln ... 45
1.6 ... Wiederholungsfragen ... 52
2. Variablen ... 53
2.1 ... Grundregeln ... 53
2.2 ... Datentypen ... 55
2.3 ... Gültigkeitsbereich von Variablen ... 62
2.4 ... Wiederholungsfragen ... 64
3. Operatoren ... 65
3.1 ... Überblick ... 65
3.2 ... Details und Sonderfälle ... 67
3.3 ... Wiederholungsfragen ... 73
4. Zahlen ... 74
4.1 ... Ganze Zahlen ... 75
4.2 ... Fließ kommazahlen ... 77
4.3 ... Komplexe Zahlen, Brüche und Festkommazahlen ... 79
4.4 ... Boolesche Werte ... 81
4.5 ... Wiederholungsfragen ... 82
5. Zeichenketten ... 83
5.1 ... Grundregeln ... 83
5.2 ... Zugriff auf Teilzeichenketten ... 86
5.3 ... Zeichenkettenfunktionen ... 88
5.4 ... Zeichenketten formatieren und konvertieren ... 92
5.5 ... Lokalisierung ... 97
5.6 ... Reguläre Ausdrücke ... 100
5.7 ... Wiederholungsfragen und Übungen ... 102
6. Datum und Zeit ... 103
6.1 ... Zeit ermitteln und darstellen ... 103
6.2 ... Mit Zeiten rechnen ... 108
6.3 ... Wiederholungsfragen und Übungen ... 110
7. Listen, Tupel, Sets und Dictionaries ... 111
7.1 ... Listen ... 112
7.2 ... Funktionen zur Verarbeitung von Listen ... 115
7.3 ... Tupel (Sequenzen) ... 122
7.4 ... Sets (Mengen) ... 125
7.5 ... Dictionaries ... 127
7.6 ... Type Annotations ... 130
7.7 ... Arrays ... 131
7.8 ... Wiederholungsfragen und Übungen ... 133
8. Verzweigungen und Schleifen ... 134
8.1 ... »if«-Verzweigung ... 134
8.2 ... Beispiel: Schaltjahrtest ... 138
8.3 ... »for«-Schleife ... 139
8.4 ... »while«-Schleife ... 147
8.5 ... Beispiele für Schleifen ... 148
8.6 ... Wiederholungsfragen und Übungen ... 153
9. Funktionen ... 155
9.1 ... Eigene Funktionen definieren ... 156
9.2 ... Lokale und globale Variablen ... 160
9.3 ... Parameter ... 164
9.4 ... Rekursion ... 169
9.5 ... Lambda-Funktionen ... 171
9.6 ... Funktionale Programmierung ... 173
9.7 ... Generatoren ... 176
9.8 ... Wiederholungsfragen und Übungen ... 179
10. Umgang mit Fehlern (Exceptions) ... 182
10.1 ... Fehlerabsicherung mit »try« und »except« ... 183
10.2 ... Selbst Exceptions auslösen (»raise«) ... 189
10.3 ... Programmunterbrechungen abfangen ... 189
10.4 ... Wiederholungsfragen und Übungen ... 192
11. Objektorientierte Programmierung ... 194
11.1 ... Crashkurs ... 195
11.2 ... »Hello, Class!« ... 199
11.3 ... Klassen- und Instanzvariablen ... 203
11.4 ... Methoden ... 208
11.5 ... Operator Overloading ... 214
11.6 ... Unveränderliche Objekte ... 219
11.7 ... Datenklassen ... 221
11.8 ... Vererbung ... 223
11.9 ... Wiederholungsaufgaben und Übungen ... 230
12. Module ... 234
12.1 ... Module nutzen (»import«) ... 234
12.2 ... Modul-Interna ... 237
12.3 ... Module installieren (»pip«) ... 240
12.4 ... Eigene Module entwickeln ... 244
12.5 ... Wiederholungsfragen und Übungen ... 247
13. Interna ... 249
13.1 ... Garbage Collection ... 249
13.2 ... Shared References ... 250
13.3 ... Namensräume erforschen ... 252
13.4 ... Python-Compiler ... 254
13.5 ... Systemfunktionen ... 255
13.6 ... Python 2 ... 258
TEIL II Python anwenden ... 263
14. Dateien lesen und schreiben ... 265
14.1 ... Verzeichnisse ... 265
14.2 ... Textdateien lesen und schreiben ... 270
14.3 ... Beispiel: Indexeinträge in Textdateien ändern ... 275
14.4 ... Standardeingabe und Standardausgabe ... 277
14.5 ... JSON-Dateien verarbeiten ... 279
14.6 ... XML-Dateien verarbeiten ... 283
14.7 ... Wiederholungsfragen und Übungen ... 288
15. Netzwerkfunktionen ... 289
15.1 ... Download und Upload von Dateien ... 289
15.2 ... Mails versenden ... 293
15.3 ... Dropbox ... 296
15.4 ... Twitter ... 300
16. Systemadministration ... 303
16.1 ... Linux-Kommandos aufrufen ... 303
16.2 ... Linux-Accounts einrichten ... 307
16.3 ... MySQL/MariaDB-Datenbankzugriff ... 310
16.4 ... Mehrere gleichartige Datenbanken analysieren ... 315
17. Raspberry Pi ... 319
17.1 ... GPIO-Zugriff mit RPi.GPIO ... 320
17.2 ... LED-Ampel für die CPU-Temperatur ... 327
17.3 ... GPIO-Zugriff mit »gpiozero« ... 330
17.4 ... Sense HAT ... 332
18. Grafische Benutzeroberflächen ... 339
18.1 ... »Hello, Qt!« ... 340
18.2 ... Buttons platzieren und nutzen ... 343
18.3 ... Textfelder, Grid-Layout und Nachrichtenboxen ... 347
18.4 ... Dateiauswahl ... 352
18.5 ... Listenfelder ... 355
18.6 ... Oberfläche zur GPIO-Steuerung ... 359
19. Grafikprogrammierung ... 363
19.1 ... Grafische Grundfunktionen ... 364
19.2 ... Grafik in einem Widget ... 370
19.3 ... Spaß mit Sinus und Cosinus ... 373
19.4 ... Temperaturkurve anzeigen ... 379
20. Wissenschaftliche Anwendung ... 386
20.1 ... Anaconda, IPython und Jupyter-Notebooks ... 387
20.2 ... NumPy ... 395
20.3 ... pandas ... 400
20.4 ... SciPy ... 406
20.5 ... Matplotlib ... 409
Anhang ... 419
A. Lösungen ... 419
A.1 ... Kapitel 1: »Hello, World!« ... 419
A.2 ... Kapitel 2: Variablen ... 421
A.3 ... Kapitel 3: Operatoren ... 423
A.4 ... Kapitel 4: Zahlen ... 423
A.5 ... Kapitel 5: Zeichenketten ... 425
A.6 ... Kapitel 6: Datum und Uhrzeit ... 426
A.7 ... Kapitel 7: Listen, Tupel, Sets und Dictionaries ... 428
A.8 ... Kapitel 8: Verzweigungen und Schleifen ... 432
A.9 ... Kapitel 9: Funktionen ... 436
A.10 ... Kapitel 10: Umgang mit Fehlern ... 441
A.11 ... Kapitel 11: Objektorientierte Programmierung ... 442
A.12 ... Kapitel 12: Module ... 447
A.13 ... Kapitel 14: Dateien lesen und schreiben ... 448
Index ... 453
TEIL I Python lernen ... 23
1. Hello, World! ... 25
1.1 ... Python installieren ... 26
1.2 ... »Hello, World!« in der Python-Shell ... 31
1.3 ... »Hello, World!« als eigenständiges Script ... 34
1.4 ... Entwicklungsumgebungen (IDEs) ... 42
1.5 ... Elementare Syntaxregeln ... 45
1.6 ... Wiederholungsfragen ... 52
2. Variablen ... 53
2.1 ... Grundregeln ... 53
2.2 ... Datentypen ... 55
2.3 ... Gültigkeitsbereich von Variablen ... 62
2.4 ... Wiederholungsfragen ... 64
3. Operatoren ... 65
3.1 ... Überblick ... 65
3.2 ... Details und Sonderfälle ... 67
3.3 ... Wiederholungsfragen ... 73
4. Zahlen ... 74
4.1 ... Ganze Zahlen ... 75
4.2 ... Fließ kommazahlen ... 77
4.3 ... Komplexe Zahlen, Brüche und Festkommazahlen ... 79
4.4 ... Boolesche Werte ... 81
4.5 ... Wiederholungsfragen ... 82
5. Zeichenketten ... 83
5.1 ... Grundregeln ... 83
5.2 ... Zugriff auf Teilzeichenketten ... 86
5.3 ... Zeichenkettenfunktionen ... 88
5.4 ... Zeichenketten formatieren und konvertieren ... 92
5.5 ... Lokalisierung ... 97
5.6 ... Reguläre Ausdrücke ... 100
5.7 ... Wiederholungsfragen und Übungen ... 102
6. Datum und Zeit ... 103
6.1 ... Zeit ermitteln und darstellen ... 103
6.2 ... Mit Zeiten rechnen ... 108
6.3 ... Wiederholungsfragen und Übungen ... 110
7. Listen, Tupel, Sets und Dictionaries ... 111
7.1 ... Listen ... 112
7.2 ... Funktionen zur Verarbeitung von Listen ... 115
7.3 ... Tupel (Sequenzen) ... 122
7.4 ... Sets (Mengen) ... 125
7.5 ... Dictionaries ... 127
7.6 ... Type Annotations ... 130
7.7 ... Arrays ... 131
7.8 ... Wiederholungsfragen und Übungen ... 133
8. Verzweigungen und Schleifen ... 134
8.1 ... »if«-Verzweigung ... 134
8.2 ... Beispiel: Schaltjahrtest ... 138
8.3 ... »for«-Schleife ... 139
8.4 ... »while«-Schleife ... 147
8.5 ... Beispiele für Schleifen ... 148
8.6 ... Wiederholungsfragen und Übungen ... 153
9. Funktionen ... 155
9.1 ... Eigene Funktionen definieren ... 156
9.2 ... Lokale und globale Variablen ... 160
9.3 ... Parameter ... 164
9.4 ... Rekursion ... 169
9.5 ... Lambda-Funktionen ... 171
9.6 ... Funktionale Programmierung ... 173
9.7 ... Generatoren ... 176
9.8 ... Wiederholungsfragen und Übungen ... 179
10. Umgang mit Fehlern (Exceptions) ... 182
10.1 ... Fehlerabsicherung mit »try« und »except« ... 183
10.2 ... Selbst Exceptions auslösen (»raise«) ... 189
10.3 ... Programmunterbrechungen abfangen ... 189
10.4 ... Wiederholungsfragen und Übungen ... 192
11. Objektorientierte Programmierung ... 194
11.1 ... Crashkurs ... 195
11.2 ... »Hello, Class!« ... 199
11.3 ... Klassen- und Instanzvariablen ... 203
11.4 ... Methoden ... 208
11.5 ... Operator Overloading ... 214
11.6 ... Unveränderliche Objekte ... 219
11.7 ... Datenklassen ... 221
11.8 ... Vererbung ... 223
11.9 ... Wiederholungsaufgaben und Übungen ... 230
12. Module ... 234
12.1 ... Module nutzen (»import«) ... 234
12.2 ... Modul-Interna ... 237
12.3 ... Module installieren (»pip«) ... 240
12.4 ... Eigene Module entwickeln ... 244
12.5 ... Wiederholungsfragen und Übungen ... 247
13. Interna ... 249
13.1 ... Garbage Collection ... 249
13.2 ... Shared References ... 250
13.3 ... Namensräume erforschen ... 252
13.4 ... Python-Compiler ... 254
13.5 ... Systemfunktionen ... 255
13.6 ... Python 2 ... 258
TEIL II Python anwenden ... 263
14. Dateien lesen und schreiben ... 265
14.1 ... Verzeichnisse ... 265
14.2 ... Textdateien lesen und schreiben ... 270
14.3 ... Beispiel: Indexeinträge in Textdateien ändern ... 275
14.4 ... Standardeingabe und Standardausgabe ... 277
14.5 ... JSON-Dateien verarbeiten ... 279
14.6 ... XML-Dateien verarbeiten ... 283
14.7 ... Wiederholungsfragen und Übungen ... 288
15. Netzwerkfunktionen ... 289
15.1 ... Download und Upload von Dateien ... 289
15.2 ... Mails versenden ... 293
15.3 ... Dropbox ... 296
15.4 ... Twitter ... 300
16. Systemadministration ... 303
16.1 ... Linux-Kommandos aufrufen ... 303
16.2 ... Linux-Accounts einrichten ... 307
16.3 ... MySQL/MariaDB-Datenbankzugriff ... 310
16.4 ... Mehrere gleichartige Datenbanken analysieren ... 315
17. Raspberry Pi ... 319
17.1 ... GPIO-Zugriff mit RPi.GPIO ... 320
17.2 ... LED-Ampel für die CPU-Temperatur ... 327
17.3 ... GPIO-Zugriff mit »gpiozero« ... 330
17.4 ... Sense HAT ... 332
18. Grafische Benutzeroberflächen ... 339
18.1 ... »Hello, Qt!« ... 340
18.2 ... Buttons platzieren und nutzen ... 343
18.3 ... Textfelder, Grid-Layout und Nachrichtenboxen ... 347
18.4 ... Dateiauswahl ... 352
18.5 ... Listenfelder ... 355
18.6 ... Oberfläche zur GPIO-Steuerung ... 359
19. Grafikprogrammierung ... 363
19.1 ... Grafische Grundfunktionen ... 364
19.2 ... Grafik in einem Widget ... 370
19.3 ... Spaß mit Sinus und Cosinus ... 373
19.4 ... Temperaturkurve anzeigen ... 379
20. Wissenschaftliche Anwendung ... 386
20.1 ... Anaconda, IPython und Jupyter-Notebooks ... 387
20.2 ... NumPy ... 395
20.3 ... pandas ... 400
20.4 ... SciPy ... 406
20.5 ... Matplotlib ... 409
Anhang ... 419
A. Lösungen ... 419
A.1 ... Kapitel 1: »Hello, World!« ... 419
A.2 ... Kapitel 2: Variablen ... 421
A.3 ... Kapitel 3: Operatoren ... 423
A.4 ... Kapitel 4: Zahlen ... 423
A.5 ... Kapitel 5: Zeichenketten ... 425
A.6 ... Kapitel 6: Datum und Uhrzeit ... 426
A.7 ... Kapitel 7: Listen, Tupel, Sets und Dictionaries ... 428
A.8 ... Kapitel 8: Verzweigungen und Schleifen ... 432
A.9 ... Kapitel 9: Funktionen ... 436
A.10 ... Kapitel 10: Umgang mit Fehlern ... 441
A.11 ... Kapitel 11: Objektorientierte Programmierung ... 442
A.12 ... Kapitel 12: Module ... 447
A.13 ... Kapitel 14: Dateien lesen und schreiben ... 448
Index ... 453