- Broschiertes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
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, den Raspberry Pi ansteuern, wiederkehrende Aufgaben automatisieren und viele andere Probleme lösen.
Aus dem Inhalt:
Hello World! Python installieren und einrichtenVariablen, Datenstrukturen, Zeichenketten und…mehr
Andere Kunden interessierten sich auch für
- Sebastian DörnPython lernen in abgeschlossenen Lerneinheiten32,99 €
- Richard KaiserC++ mit Visual Studio 2022 und Windows Forms-Anwendungen84,99 €
- Michael BonacinaPython 3 Programmieren für Einsteiger14,99 €
- David KopecAlgorithmen in Python29,90 €
- Thomas TheisEinstieg in Python24,90 €
- Hans-Bernhard WoyandPython für Ingenieure und Naturwissenschaftler29,99 €
- Christian UllenboomCaptain CiaoCiao erobert Java39,90 €
-
-
-
-
-
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, den Raspberry Pi ansteuern, wiederkehrende Aufgaben automatisieren und viele andere Probleme lösen.
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 Computing / Rheinwerk Verlag
- Artikelnr. des Verlages: 459/08513
- 2., überarb. Aufl.
- Seitenzahl: 462
- Erscheinungstermin: 26. November 2021
- Deutsch
- Abmessung: 188mm x 126mm x 28mm
- Gewicht: 512g
- ISBN-13: 9783836285131
- ISBN-10: 3836285134
- Artikelnr.: 62484740
- Herstellerkennzeichnung
- Rheinwerk Publishing Inc.
- 2 Heritage Drive
- 11201 Quincy, MA, US
- Info@rheinwerk-verlag.de
- www.rheinwerk-verlag.de
- Rheinwerk Computing
- Verlag: Rheinwerk Computing / Rheinwerk Verlag
- Artikelnr. des Verlages: 459/08513
- 2., überarb. Aufl.
- Seitenzahl: 462
- Erscheinungstermin: 26. November 2021
- Deutsch
- Abmessung: 188mm x 126mm x 28mm
- Gewicht: 512g
- ISBN-13: 9783836285131
- ISBN-10: 3836285134
- Artikelnr.: 62484740
- Herstellerkennzeichnung
- Rheinwerk Publishing Inc.
- 2 Heritage Drive
- 11201 Quincy, MA, US
- Info@rheinwerk-verlag.de
- www.rheinwerk-verlag.de
Michael Kofler hat Telematik an der TU Graz studiert und ist einer der erfolgreichsten deutschsprachigen IT-Fachbuchautoren. Zu seinen Themengebieten zählen neben Linux auch IT-Sicherheit, Python, Swift, Java und der Raspberry Pi. Er ist Entwickler, berät Firmen und arbeitet als Lehrbeauftragter.
Vorwort ... 21
TEIL I. Python lernen ... 23
1. Hello, World! ... 25
1.1 ... Python installieren ... 25
1.2 ... »Hello, World!« in der Python-Shell ... 29
1.3 ... »Hello, World!« als eigenständiges Programm ... 32
1.4 ... Thonny ... 37
1.5 ... Elementare Syntaxregeln ... 40
1.6 ... Wiederholungsfragen ... 47
2. Variablen ... 48
2.1 ... Grundregeln ... 48
2.2 ... Datentypen ... 50
2.3 ... Gültigkeitsbereich von Variablen ... 57
2.4 ... Wiederholungsfragen ... 59
3. Operatoren ... 60
3.1 ... Überblick ... 60
3.2 ... Details und Sonderfälle ... 62
3.3 ... Wiederholungsfragen ... 69
4. Zahlen ... 70
4.1 ... Ganze Zahlen ... 71
4.2 ... Fließkommazahlen ... 73
4.3 ... Komplexe Zahlen, Brüche und Festkommazahlen ... 75
4.4 ... Boolesche Werte ... 77
4.5 ... Wiederholungsfragen ... 78
5. Zeichenketten ... 79
5.1 ... Grundregeln ... 79
5.2 ... Zugriff auf Teilzeichenketten ... 82
5.3 ... Zeichenkettenfunktionen ... 84
5.4 ... Zeichenketten formatieren und konvertieren ... 88
5.5 ... Lokalisierung ... 93
5.6 ... Reguläre Ausdrücke ... 96
5.7 ... Wiederholungsfragen und Übungen ... 98
6. Datum und Zeit ... 99
6.1 ... Zeit ermitteln und darstellen ... 99
6.2 ... Mit Zeiten rechnen ... 104
6.3 ... Wiederholungsfragen und Übungen ... 106
7. Listen, Tupel, Sets und Dictionaries ... 107
7.1 ... Listen ... 108
7.2 ... Funktionen zur Verarbeitung von Listen ... 111
7.3 ... Tupel (Sequenzen) ... 119
7.4 ... Sets (Mengen) ... 121
7.5 ... Dictionaries ... 123
7.6 ... Type Annotations ... 127
7.7 ... Arrays ... 128
7.8 ... Wiederholungsfragen und Übungen ... 130
8. Verzweigungen und Schleifen ... 131
8.1 ... »if«-Verzweigung ... 131
8.2 ... Beispiel: Schaltjahrtest ... 135
8.3 ... »for«-Schleife ... 136
8.4 ... »while«-Schleife ... 144
8.5 ... Beispiele für Schleifen ... 145
8.6 ... Pattern Matching ... 150
8.7 ... Wiederholungsfragen und Übungen ... 151
9. Funktionen ... 153
9.1 ... Eigene Funktionen definieren ... 154
9.2 ... Lokale und globale Variablen ... 158
9.3 ... Parameter ... 161
9.4 ... Rekursion ... 167
9.5 ... Lambda-Funktionen ... 170
9.6 ... Funktionale Programmierung ... 171
9.7 ... Generatoren ... 174
9.8 ... Wiederholungsfragen und Übungen ... 178
10. Umgang mit Fehlern (Exceptions) ... 180
10.1 ... Fehlerabsicherung mit »try« und »except« ... 181
10.2 ... Selbst Exceptions auslösen (»raise«) ... 187
10.3 ... Programmunterbrechungen abfangen ... 187
10.4 ... Wiederholungsfragen und Übungen ... 190
11. Objektorientierte Programmierung ... 192
11.1 ... Crashkurs ... 193
11.2 ... »Hello, Class!« ... 197
11.3 ... Klassen- und Instanzvariablen ... 201
11.4 ... Methoden ... 207
11.5 ... Operator Overloading ... 213
11.6 ... Datenklassen ... 217
11.7 ... Vererbung ... 219
11.8 ... Wiederholungsaufgaben und Übungen ... 227
12. Module ... 231
12.1 ... Module nutzen (»import«) ... 231
12.2 ... Modul-Interna ... 234
12.3 ... Module installieren (»pip«) ... 237
12.4 ... Eigene Module entwickeln ... 241
12.5 ... Wiederholungsfragen und Übungen ... 244
13. Interna ... 246
13.1 ... Python-Scripts ausführen ... 246
13.2 ... Garbage Collection ... 252
13.3 ... Shared References ... 253
13.4 ... Namensräume erforschen ... 255
13.5 ... Python-Compiler ... 256
13.6 ... Systemfunktionen ... 257
13.7 ... Wiederholungsfragen ... 260
TEIL II. Python anwenden ... 261
14. Dateien lesen und schreiben ... 263
14.1 ... Verzeichnisse ... 263
14.2 ... Textdateien lesen und schreiben ... 269
14.3 ... Beispiel: Indexeinträge in Textdateien ändern ... 273
14.4 ... Standardeingabe und Standardausgabe ... 275
14.5 ... JSON-Dateien verarbeiten ... 277
14.6 ... XML-Dateien verarbeiten ... 281
14.7 ... Wiederholungsfragen und Übungen ... 286
15. Netzwerkfunktionen ... 287
15.1 ... Download und Upload von Dateien ... 287
15.2 ... Mails versenden ... 291
15.3 ... Dropbox ... 294
15.4 ... Twitter ... 298
16. Systemadministration ... 301
16.1 ... Linux-Kommandos aufrufen ... 301
16.2 ... Linux-Accounts einrichten ... 304
16.3 ... MySQL/MariaDB-Datenbankzugriff ... 308
16.4 ... Mehrere gleichartige Datenbanken analysieren ... 313
17. Raspberry Pi ... 317
17.1 ... GPIO-Zugriff mit RPi.GPIO ... 318
17.2 ... LED-Ampel für die CPU-Temperatur ... 325
17.3 ... GPIO-Zugriff mit »gpiozero« ... 328
17.4 ... Sense HAT ... 330
18. Grafische Benutzeroberflächen ... 337
18.1 ... »Hello, Qt!« ... 338
18.2 ... Buttons platzieren und nutzen ... 340
18.3 ... Textfelder, Grid-Layout und Nachrichtenboxen ... 345
18.4 ... Dateiauswahl ... 349
18.5 ... Listenfelder ... 352
18.6 ... Oberfläche zur GPIO-Steuerung ... 356
19. Grafikprogrammierung ... 360
19.1 ... Grafische Grundfunktionen ... 361
19.2 ... Grafik in einem Widget ... 367
19.3 ... Spaß mit Sinus und Cosinus ... 370
19.4 ... Temperaturkurve anzeigen ... 377
20. Wissenschaftliche Anwendung ... 384
20.1 ... Anaconda, IPython und Jupyter-Notebooks ... 384
20.2 ... NumPy ... 394
20.3 ... pandas ... 399
20.4 ... SciPy ... 404
20.5 ... Matplotlib ... 408
A. Lösungen ... 417
A.1 ... Kapitel 1: »Hello, World!« ... 417
A.2 ... Kapitel 2: Variablen ... 418
A.3 ... Kapitel 3: Operatoren ... 420
A.4 ... Kapitel 4: Zahlen ... 421
A.5 ... Kapitel 5: Zeichenketten ... 422
A.6 ... Kapitel 6: Datum und Uhrzeit ... 424
A.7 ... Kapitel 7: Listen, Tupel, Sets und Dictionaries ... 425
A.8 ... Kapitel 8: Verzweigungen und Schleifen ... 429
A.9 ... Kapitel 9: Funktionen ... 433
A.10 ... Kapitel 10: Umgang mit Fehlern ... 439
A.11 ... Kapitel 11: Objektorientierte Programmierung ... 440
A.12 ... Kapitel 12: Module ... 445
A.13 ... Kapitel 13: Interna ... 446
A.14 ... Kapitel 14: Dateien lesen und schreiben ... 447
Index ... 451
TEIL I. Python lernen ... 23
1. Hello, World! ... 25
1.1 ... Python installieren ... 25
1.2 ... »Hello, World!« in der Python-Shell ... 29
1.3 ... »Hello, World!« als eigenständiges Programm ... 32
1.4 ... Thonny ... 37
1.5 ... Elementare Syntaxregeln ... 40
1.6 ... Wiederholungsfragen ... 47
2. Variablen ... 48
2.1 ... Grundregeln ... 48
2.2 ... Datentypen ... 50
2.3 ... Gültigkeitsbereich von Variablen ... 57
2.4 ... Wiederholungsfragen ... 59
3. Operatoren ... 60
3.1 ... Überblick ... 60
3.2 ... Details und Sonderfälle ... 62
3.3 ... Wiederholungsfragen ... 69
4. Zahlen ... 70
4.1 ... Ganze Zahlen ... 71
4.2 ... Fließkommazahlen ... 73
4.3 ... Komplexe Zahlen, Brüche und Festkommazahlen ... 75
4.4 ... Boolesche Werte ... 77
4.5 ... Wiederholungsfragen ... 78
5. Zeichenketten ... 79
5.1 ... Grundregeln ... 79
5.2 ... Zugriff auf Teilzeichenketten ... 82
5.3 ... Zeichenkettenfunktionen ... 84
5.4 ... Zeichenketten formatieren und konvertieren ... 88
5.5 ... Lokalisierung ... 93
5.6 ... Reguläre Ausdrücke ... 96
5.7 ... Wiederholungsfragen und Übungen ... 98
6. Datum und Zeit ... 99
6.1 ... Zeit ermitteln und darstellen ... 99
6.2 ... Mit Zeiten rechnen ... 104
6.3 ... Wiederholungsfragen und Übungen ... 106
7. Listen, Tupel, Sets und Dictionaries ... 107
7.1 ... Listen ... 108
7.2 ... Funktionen zur Verarbeitung von Listen ... 111
7.3 ... Tupel (Sequenzen) ... 119
7.4 ... Sets (Mengen) ... 121
7.5 ... Dictionaries ... 123
7.6 ... Type Annotations ... 127
7.7 ... Arrays ... 128
7.8 ... Wiederholungsfragen und Übungen ... 130
8. Verzweigungen und Schleifen ... 131
8.1 ... »if«-Verzweigung ... 131
8.2 ... Beispiel: Schaltjahrtest ... 135
8.3 ... »for«-Schleife ... 136
8.4 ... »while«-Schleife ... 144
8.5 ... Beispiele für Schleifen ... 145
8.6 ... Pattern Matching ... 150
8.7 ... Wiederholungsfragen und Übungen ... 151
9. Funktionen ... 153
9.1 ... Eigene Funktionen definieren ... 154
9.2 ... Lokale und globale Variablen ... 158
9.3 ... Parameter ... 161
9.4 ... Rekursion ... 167
9.5 ... Lambda-Funktionen ... 170
9.6 ... Funktionale Programmierung ... 171
9.7 ... Generatoren ... 174
9.8 ... Wiederholungsfragen und Übungen ... 178
10. Umgang mit Fehlern (Exceptions) ... 180
10.1 ... Fehlerabsicherung mit »try« und »except« ... 181
10.2 ... Selbst Exceptions auslösen (»raise«) ... 187
10.3 ... Programmunterbrechungen abfangen ... 187
10.4 ... Wiederholungsfragen und Übungen ... 190
11. Objektorientierte Programmierung ... 192
11.1 ... Crashkurs ... 193
11.2 ... »Hello, Class!« ... 197
11.3 ... Klassen- und Instanzvariablen ... 201
11.4 ... Methoden ... 207
11.5 ... Operator Overloading ... 213
11.6 ... Datenklassen ... 217
11.7 ... Vererbung ... 219
11.8 ... Wiederholungsaufgaben und Übungen ... 227
12. Module ... 231
12.1 ... Module nutzen (»import«) ... 231
12.2 ... Modul-Interna ... 234
12.3 ... Module installieren (»pip«) ... 237
12.4 ... Eigene Module entwickeln ... 241
12.5 ... Wiederholungsfragen und Übungen ... 244
13. Interna ... 246
13.1 ... Python-Scripts ausführen ... 246
13.2 ... Garbage Collection ... 252
13.3 ... Shared References ... 253
13.4 ... Namensräume erforschen ... 255
13.5 ... Python-Compiler ... 256
13.6 ... Systemfunktionen ... 257
13.7 ... Wiederholungsfragen ... 260
TEIL II. Python anwenden ... 261
14. Dateien lesen und schreiben ... 263
14.1 ... Verzeichnisse ... 263
14.2 ... Textdateien lesen und schreiben ... 269
14.3 ... Beispiel: Indexeinträge in Textdateien ändern ... 273
14.4 ... Standardeingabe und Standardausgabe ... 275
14.5 ... JSON-Dateien verarbeiten ... 277
14.6 ... XML-Dateien verarbeiten ... 281
14.7 ... Wiederholungsfragen und Übungen ... 286
15. Netzwerkfunktionen ... 287
15.1 ... Download und Upload von Dateien ... 287
15.2 ... Mails versenden ... 291
15.3 ... Dropbox ... 294
15.4 ... Twitter ... 298
16. Systemadministration ... 301
16.1 ... Linux-Kommandos aufrufen ... 301
16.2 ... Linux-Accounts einrichten ... 304
16.3 ... MySQL/MariaDB-Datenbankzugriff ... 308
16.4 ... Mehrere gleichartige Datenbanken analysieren ... 313
17. Raspberry Pi ... 317
17.1 ... GPIO-Zugriff mit RPi.GPIO ... 318
17.2 ... LED-Ampel für die CPU-Temperatur ... 325
17.3 ... GPIO-Zugriff mit »gpiozero« ... 328
17.4 ... Sense HAT ... 330
18. Grafische Benutzeroberflächen ... 337
18.1 ... »Hello, Qt!« ... 338
18.2 ... Buttons platzieren und nutzen ... 340
18.3 ... Textfelder, Grid-Layout und Nachrichtenboxen ... 345
18.4 ... Dateiauswahl ... 349
18.5 ... Listenfelder ... 352
18.6 ... Oberfläche zur GPIO-Steuerung ... 356
19. Grafikprogrammierung ... 360
19.1 ... Grafische Grundfunktionen ... 361
19.2 ... Grafik in einem Widget ... 367
19.3 ... Spaß mit Sinus und Cosinus ... 370
19.4 ... Temperaturkurve anzeigen ... 377
20. Wissenschaftliche Anwendung ... 384
20.1 ... Anaconda, IPython und Jupyter-Notebooks ... 384
20.2 ... NumPy ... 394
20.3 ... pandas ... 399
20.4 ... SciPy ... 404
20.5 ... Matplotlib ... 408
A. Lösungen ... 417
A.1 ... Kapitel 1: »Hello, World!« ... 417
A.2 ... Kapitel 2: Variablen ... 418
A.3 ... Kapitel 3: Operatoren ... 420
A.4 ... Kapitel 4: Zahlen ... 421
A.5 ... Kapitel 5: Zeichenketten ... 422
A.6 ... Kapitel 6: Datum und Uhrzeit ... 424
A.7 ... Kapitel 7: Listen, Tupel, Sets und Dictionaries ... 425
A.8 ... Kapitel 8: Verzweigungen und Schleifen ... 429
A.9 ... Kapitel 9: Funktionen ... 433
A.10 ... Kapitel 10: Umgang mit Fehlern ... 439
A.11 ... Kapitel 11: Objektorientierte Programmierung ... 440
A.12 ... Kapitel 12: Module ... 445
A.13 ... Kapitel 13: Interna ... 446
A.14 ... Kapitel 14: Dateien lesen und schreiben ... 447
Index ... 451
Vorwort ... 21
TEIL I. Python lernen ... 23
1. Hello, World! ... 25
1.1 ... Python installieren ... 25
1.2 ... »Hello, World!« in der Python-Shell ... 29
1.3 ... »Hello, World!« als eigenständiges Programm ... 32
1.4 ... Thonny ... 37
1.5 ... Elementare Syntaxregeln ... 40
1.6 ... Wiederholungsfragen ... 47
2. Variablen ... 48
2.1 ... Grundregeln ... 48
2.2 ... Datentypen ... 50
2.3 ... Gültigkeitsbereich von Variablen ... 57
2.4 ... Wiederholungsfragen ... 59
3. Operatoren ... 60
3.1 ... Überblick ... 60
3.2 ... Details und Sonderfälle ... 62
3.3 ... Wiederholungsfragen ... 69
4. Zahlen ... 70
4.1 ... Ganze Zahlen ... 71
4.2 ... Fließkommazahlen ... 73
4.3 ... Komplexe Zahlen, Brüche und Festkommazahlen ... 75
4.4 ... Boolesche Werte ... 77
4.5 ... Wiederholungsfragen ... 78
5. Zeichenketten ... 79
5.1 ... Grundregeln ... 79
5.2 ... Zugriff auf Teilzeichenketten ... 82
5.3 ... Zeichenkettenfunktionen ... 84
5.4 ... Zeichenketten formatieren und konvertieren ... 88
5.5 ... Lokalisierung ... 93
5.6 ... Reguläre Ausdrücke ... 96
5.7 ... Wiederholungsfragen und Übungen ... 98
6. Datum und Zeit ... 99
6.1 ... Zeit ermitteln und darstellen ... 99
6.2 ... Mit Zeiten rechnen ... 104
6.3 ... Wiederholungsfragen und Übungen ... 106
7. Listen, Tupel, Sets und Dictionaries ... 107
7.1 ... Listen ... 108
7.2 ... Funktionen zur Verarbeitung von Listen ... 111
7.3 ... Tupel (Sequenzen) ... 119
7.4 ... Sets (Mengen) ... 121
7.5 ... Dictionaries ... 123
7.6 ... Type Annotations ... 127
7.7 ... Arrays ... 128
7.8 ... Wiederholungsfragen und Übungen ... 130
8. Verzweigungen und Schleifen ... 131
8.1 ... »if«-Verzweigung ... 131
8.2 ... Beispiel: Schaltjahrtest ... 135
8.3 ... »for«-Schleife ... 136
8.4 ... »while«-Schleife ... 144
8.5 ... Beispiele für Schleifen ... 145
8.6 ... Pattern Matching ... 150
8.7 ... Wiederholungsfragen und Übungen ... 151
9. Funktionen ... 153
9.1 ... Eigene Funktionen definieren ... 154
9.2 ... Lokale und globale Variablen ... 158
9.3 ... Parameter ... 161
9.4 ... Rekursion ... 167
9.5 ... Lambda-Funktionen ... 170
9.6 ... Funktionale Programmierung ... 171
9.7 ... Generatoren ... 174
9.8 ... Wiederholungsfragen und Übungen ... 178
10. Umgang mit Fehlern (Exceptions) ... 180
10.1 ... Fehlerabsicherung mit »try« und »except« ... 181
10.2 ... Selbst Exceptions auslösen (»raise«) ... 187
10.3 ... Programmunterbrechungen abfangen ... 187
10.4 ... Wiederholungsfragen und Übungen ... 190
11. Objektorientierte Programmierung ... 192
11.1 ... Crashkurs ... 193
11.2 ... »Hello, Class!« ... 197
11.3 ... Klassen- und Instanzvariablen ... 201
11.4 ... Methoden ... 207
11.5 ... Operator Overloading ... 213
11.6 ... Datenklassen ... 217
11.7 ... Vererbung ... 219
11.8 ... Wiederholungsaufgaben und Übungen ... 227
12. Module ... 231
12.1 ... Module nutzen (»import«) ... 231
12.2 ... Modul-Interna ... 234
12.3 ... Module installieren (»pip«) ... 237
12.4 ... Eigene Module entwickeln ... 241
12.5 ... Wiederholungsfragen und Übungen ... 244
13. Interna ... 246
13.1 ... Python-Scripts ausführen ... 246
13.2 ... Garbage Collection ... 252
13.3 ... Shared References ... 253
13.4 ... Namensräume erforschen ... 255
13.5 ... Python-Compiler ... 256
13.6 ... Systemfunktionen ... 257
13.7 ... Wiederholungsfragen ... 260
TEIL II. Python anwenden ... 261
14. Dateien lesen und schreiben ... 263
14.1 ... Verzeichnisse ... 263
14.2 ... Textdateien lesen und schreiben ... 269
14.3 ... Beispiel: Indexeinträge in Textdateien ändern ... 273
14.4 ... Standardeingabe und Standardausgabe ... 275
14.5 ... JSON-Dateien verarbeiten ... 277
14.6 ... XML-Dateien verarbeiten ... 281
14.7 ... Wiederholungsfragen und Übungen ... 286
15. Netzwerkfunktionen ... 287
15.1 ... Download und Upload von Dateien ... 287
15.2 ... Mails versenden ... 291
15.3 ... Dropbox ... 294
15.4 ... Twitter ... 298
16. Systemadministration ... 301
16.1 ... Linux-Kommandos aufrufen ... 301
16.2 ... Linux-Accounts einrichten ... 304
16.3 ... MySQL/MariaDB-Datenbankzugriff ... 308
16.4 ... Mehrere gleichartige Datenbanken analysieren ... 313
17. Raspberry Pi ... 317
17.1 ... GPIO-Zugriff mit RPi.GPIO ... 318
17.2 ... LED-Ampel für die CPU-Temperatur ... 325
17.3 ... GPIO-Zugriff mit »gpiozero« ... 328
17.4 ... Sense HAT ... 330
18. Grafische Benutzeroberflächen ... 337
18.1 ... »Hello, Qt!« ... 338
18.2 ... Buttons platzieren und nutzen ... 340
18.3 ... Textfelder, Grid-Layout und Nachrichtenboxen ... 345
18.4 ... Dateiauswahl ... 349
18.5 ... Listenfelder ... 352
18.6 ... Oberfläche zur GPIO-Steuerung ... 356
19. Grafikprogrammierung ... 360
19.1 ... Grafische Grundfunktionen ... 361
19.2 ... Grafik in einem Widget ... 367
19.3 ... Spaß mit Sinus und Cosinus ... 370
19.4 ... Temperaturkurve anzeigen ... 377
20. Wissenschaftliche Anwendung ... 384
20.1 ... Anaconda, IPython und Jupyter-Notebooks ... 384
20.2 ... NumPy ... 394
20.3 ... pandas ... 399
20.4 ... SciPy ... 404
20.5 ... Matplotlib ... 408
A. Lösungen ... 417
A.1 ... Kapitel 1: »Hello, World!« ... 417
A.2 ... Kapitel 2: Variablen ... 418
A.3 ... Kapitel 3: Operatoren ... 420
A.4 ... Kapitel 4: Zahlen ... 421
A.5 ... Kapitel 5: Zeichenketten ... 422
A.6 ... Kapitel 6: Datum und Uhrzeit ... 424
A.7 ... Kapitel 7: Listen, Tupel, Sets und Dictionaries ... 425
A.8 ... Kapitel 8: Verzweigungen und Schleifen ... 429
A.9 ... Kapitel 9: Funktionen ... 433
A.10 ... Kapitel 10: Umgang mit Fehlern ... 439
A.11 ... Kapitel 11: Objektorientierte Programmierung ... 440
A.12 ... Kapitel 12: Module ... 445
A.13 ... Kapitel 13: Interna ... 446
A.14 ... Kapitel 14: Dateien lesen und schreiben ... 447
Index ... 451
TEIL I. Python lernen ... 23
1. Hello, World! ... 25
1.1 ... Python installieren ... 25
1.2 ... »Hello, World!« in der Python-Shell ... 29
1.3 ... »Hello, World!« als eigenständiges Programm ... 32
1.4 ... Thonny ... 37
1.5 ... Elementare Syntaxregeln ... 40
1.6 ... Wiederholungsfragen ... 47
2. Variablen ... 48
2.1 ... Grundregeln ... 48
2.2 ... Datentypen ... 50
2.3 ... Gültigkeitsbereich von Variablen ... 57
2.4 ... Wiederholungsfragen ... 59
3. Operatoren ... 60
3.1 ... Überblick ... 60
3.2 ... Details und Sonderfälle ... 62
3.3 ... Wiederholungsfragen ... 69
4. Zahlen ... 70
4.1 ... Ganze Zahlen ... 71
4.2 ... Fließkommazahlen ... 73
4.3 ... Komplexe Zahlen, Brüche und Festkommazahlen ... 75
4.4 ... Boolesche Werte ... 77
4.5 ... Wiederholungsfragen ... 78
5. Zeichenketten ... 79
5.1 ... Grundregeln ... 79
5.2 ... Zugriff auf Teilzeichenketten ... 82
5.3 ... Zeichenkettenfunktionen ... 84
5.4 ... Zeichenketten formatieren und konvertieren ... 88
5.5 ... Lokalisierung ... 93
5.6 ... Reguläre Ausdrücke ... 96
5.7 ... Wiederholungsfragen und Übungen ... 98
6. Datum und Zeit ... 99
6.1 ... Zeit ermitteln und darstellen ... 99
6.2 ... Mit Zeiten rechnen ... 104
6.3 ... Wiederholungsfragen und Übungen ... 106
7. Listen, Tupel, Sets und Dictionaries ... 107
7.1 ... Listen ... 108
7.2 ... Funktionen zur Verarbeitung von Listen ... 111
7.3 ... Tupel (Sequenzen) ... 119
7.4 ... Sets (Mengen) ... 121
7.5 ... Dictionaries ... 123
7.6 ... Type Annotations ... 127
7.7 ... Arrays ... 128
7.8 ... Wiederholungsfragen und Übungen ... 130
8. Verzweigungen und Schleifen ... 131
8.1 ... »if«-Verzweigung ... 131
8.2 ... Beispiel: Schaltjahrtest ... 135
8.3 ... »for«-Schleife ... 136
8.4 ... »while«-Schleife ... 144
8.5 ... Beispiele für Schleifen ... 145
8.6 ... Pattern Matching ... 150
8.7 ... Wiederholungsfragen und Übungen ... 151
9. Funktionen ... 153
9.1 ... Eigene Funktionen definieren ... 154
9.2 ... Lokale und globale Variablen ... 158
9.3 ... Parameter ... 161
9.4 ... Rekursion ... 167
9.5 ... Lambda-Funktionen ... 170
9.6 ... Funktionale Programmierung ... 171
9.7 ... Generatoren ... 174
9.8 ... Wiederholungsfragen und Übungen ... 178
10. Umgang mit Fehlern (Exceptions) ... 180
10.1 ... Fehlerabsicherung mit »try« und »except« ... 181
10.2 ... Selbst Exceptions auslösen (»raise«) ... 187
10.3 ... Programmunterbrechungen abfangen ... 187
10.4 ... Wiederholungsfragen und Übungen ... 190
11. Objektorientierte Programmierung ... 192
11.1 ... Crashkurs ... 193
11.2 ... »Hello, Class!« ... 197
11.3 ... Klassen- und Instanzvariablen ... 201
11.4 ... Methoden ... 207
11.5 ... Operator Overloading ... 213
11.6 ... Datenklassen ... 217
11.7 ... Vererbung ... 219
11.8 ... Wiederholungsaufgaben und Übungen ... 227
12. Module ... 231
12.1 ... Module nutzen (»import«) ... 231
12.2 ... Modul-Interna ... 234
12.3 ... Module installieren (»pip«) ... 237
12.4 ... Eigene Module entwickeln ... 241
12.5 ... Wiederholungsfragen und Übungen ... 244
13. Interna ... 246
13.1 ... Python-Scripts ausführen ... 246
13.2 ... Garbage Collection ... 252
13.3 ... Shared References ... 253
13.4 ... Namensräume erforschen ... 255
13.5 ... Python-Compiler ... 256
13.6 ... Systemfunktionen ... 257
13.7 ... Wiederholungsfragen ... 260
TEIL II. Python anwenden ... 261
14. Dateien lesen und schreiben ... 263
14.1 ... Verzeichnisse ... 263
14.2 ... Textdateien lesen und schreiben ... 269
14.3 ... Beispiel: Indexeinträge in Textdateien ändern ... 273
14.4 ... Standardeingabe und Standardausgabe ... 275
14.5 ... JSON-Dateien verarbeiten ... 277
14.6 ... XML-Dateien verarbeiten ... 281
14.7 ... Wiederholungsfragen und Übungen ... 286
15. Netzwerkfunktionen ... 287
15.1 ... Download und Upload von Dateien ... 287
15.2 ... Mails versenden ... 291
15.3 ... Dropbox ... 294
15.4 ... Twitter ... 298
16. Systemadministration ... 301
16.1 ... Linux-Kommandos aufrufen ... 301
16.2 ... Linux-Accounts einrichten ... 304
16.3 ... MySQL/MariaDB-Datenbankzugriff ... 308
16.4 ... Mehrere gleichartige Datenbanken analysieren ... 313
17. Raspberry Pi ... 317
17.1 ... GPIO-Zugriff mit RPi.GPIO ... 318
17.2 ... LED-Ampel für die CPU-Temperatur ... 325
17.3 ... GPIO-Zugriff mit »gpiozero« ... 328
17.4 ... Sense HAT ... 330
18. Grafische Benutzeroberflächen ... 337
18.1 ... »Hello, Qt!« ... 338
18.2 ... Buttons platzieren und nutzen ... 340
18.3 ... Textfelder, Grid-Layout und Nachrichtenboxen ... 345
18.4 ... Dateiauswahl ... 349
18.5 ... Listenfelder ... 352
18.6 ... Oberfläche zur GPIO-Steuerung ... 356
19. Grafikprogrammierung ... 360
19.1 ... Grafische Grundfunktionen ... 361
19.2 ... Grafik in einem Widget ... 367
19.3 ... Spaß mit Sinus und Cosinus ... 370
19.4 ... Temperaturkurve anzeigen ... 377
20. Wissenschaftliche Anwendung ... 384
20.1 ... Anaconda, IPython und Jupyter-Notebooks ... 384
20.2 ... NumPy ... 394
20.3 ... pandas ... 399
20.4 ... SciPy ... 404
20.5 ... Matplotlib ... 408
A. Lösungen ... 417
A.1 ... Kapitel 1: »Hello, World!« ... 417
A.2 ... Kapitel 2: Variablen ... 418
A.3 ... Kapitel 3: Operatoren ... 420
A.4 ... Kapitel 4: Zahlen ... 421
A.5 ... Kapitel 5: Zeichenketten ... 422
A.6 ... Kapitel 6: Datum und Uhrzeit ... 424
A.7 ... Kapitel 7: Listen, Tupel, Sets und Dictionaries ... 425
A.8 ... Kapitel 8: Verzweigungen und Schleifen ... 429
A.9 ... Kapitel 9: Funktionen ... 433
A.10 ... Kapitel 10: Umgang mit Fehlern ... 439
A.11 ... Kapitel 11: Objektorientierte Programmierung ... 440
A.12 ... Kapitel 12: Module ... 445
A.13 ... Kapitel 13: Interna ... 446
A.14 ... Kapitel 14: Dateien lesen und schreiben ... 447
Index ... 451