Alle Infos zum eBook verschenken
Alle Infos zum eBook verschenken
- Format: PDF
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Hier können Sie sich einloggen
Bitte loggen Sie sich zunächst in Ihr Kundenkonto ein oder registrieren Sie sich bei bücher.de, um das eBook-Abo tolino select nutzen zu können.
Vom Feinsten! Lerne Python so, dass es Spaß macht und du alles behältst! Schrödinger taucht voll ein und ist begeistert von der vielseitigen Sprache - und du bist dabei. Vom Maker-Projekt bis zur KI liegt ihr mit Python genau richtig. Damit alles gut funktioniert, knöpft ihr zwei euch erst einmal die Sprachgrundlagen vor und fangt dabei ganz vorne an. Dabei lernt ihr direkt so zu programmieren, dass ihr auch in größeren Projekten guten Code schreibt. Schrödinger hilft dir gleich doppelt beim Lernen: Mit einem Kumpel bleibt nicht nur mehr hängen. Er stellt auch viele Fragen - und nicht selten…mehr
- Geräte: PC
- ohne Kopierschutz
- eBook Hilfe
- Stephan ElterSchrödinger programmiert Python (eBook, PDF)35,92 €
- Thomas TheisEinstieg in Python (eBook, ePUB)19,92 €
- Hauke FehrLet's code Python (eBook, ePUB)19,92 €
- Michael KoflerPython (eBook, ePUB)13,52 €
- Gregor WalterLet's code! (eBook, ePUB)15,92 €
- Maxime WegesinLet's code Lua! (eBook, ePUB)19,92 €
- Hans-Georg SchumannPython für Kids (eBook, ePUB)24,99 €
-
-
-
Aus dem Inhalt:
- Installationshilfe und gründlicher Einstieg
- Objektorientierung aus der Profi-Praxis
- Das Zen of Python
- Umgang mit Zeit und Datum
- Module
- Alles rund um Datenbanken
- Keine Angst vor regulären Ausdrücken
- Einblicke in Künstliche Intelligenz
- Unmengen an Beispielcode und Übungen
Die Fachpresse zur Vorauflage: LINUX MAGAZIN: »Eine vergnügliche Einführung in die Programmiersprache Python.«
Dieser Download kann aus rechtlichen Gründen nur mit Rechnungsadresse in A, B, BG, CY, CZ, D, DK, EW, E, FIN, F, GR, HR, H, IRL, I, LT, L, LR, M, NL, PL, P, R, S, SLO, SK ausgeliefert werden.
- Produktdetails
- Verlag: Rheinwerk Verlag GmbH
- Seitenzahl: 675
- Erscheinungstermin: 7. Januar 2025
- Deutsch
- ISBN-13: 9783367105212
- Artikelnr.: 72392381
- Verlag: Rheinwerk Verlag GmbH
- Seitenzahl: 675
- Erscheinungstermin: 7. Januar 2025
- Deutsch
- ISBN-13: 9783367105212
- Artikelnr.: 72392381
- Herstellerkennzeichnung Die Herstellerinformationen sind derzeit nicht verfügbar.
1. Schrödinger startet durch -- mit Python! Python, erste schnelle Schritte ... 23
Die Programmiersprache Python! ... 25
Das Zen of Python und die Sache mit den PEPs ... 26
Python, ein erstes »Hallo Welt« ... 27
Fingerübungen mit »print« ... 31
Hallo Welt in (einzeiligen) Variationen ... 32
Wir müssen reden: Du und deine Variablen ... 35
Variablen -- was geht? Und was ist voll krass korrekt? ... 39
Die Sache mit den (Daten-)Typen ... 43
Diese Datentypen sind für dich da! ... 47
Über den richtigen Kamm scheren -- Datentypen konvertieren ... 48
Lustiges Konvertieren -- was Python zu was macht ... 51
Die Funktion »str()« -- verwandelt alles in Text ... 51
Die Funktion »int()« -- ganze Zahlen ... 52
Die Funktion »float()« -- Fließkomma mit Punkt ... 53
Die Funktion »bool()« -- Wahrheit oder Pflicht ... 53
Was ist das denn für ein Typ -- »type()« ... 54
Probier's doch mal aus ... 56
Und was ist noch wichtig? ... 57
Syntax, Variablen, Datentypen und dynamische Typisierung ... 58
2. Ein Dinkel macht noch keinen Korn. Syntax, Kommentar und guter Stil ... 59
Eingabe, Berechnung und eine Ausgabe ... 61
Zahlen mit Komma -- statt mit dem Punkt ... 64
Die Zeit der Abrechnung ist gekommen ... 66
Damit kannst du rechnen -- die Grundrechenarten ... 67
Wie wär's mit einem Rabatt? ... 69
Du und deine Kontrollstruktur ... 72
»while« -- Schleifen binden leicht gemacht ... 72
Ganz wichtig: Die Bedingung der Schleife ... 73
Ein schneller Blick auf die Vergleiche ... 74
Schleifen binden -- der erste eigene Prototyp ... 76
Entrückt -- Einrückungen statt Klammern ... 79
Fehlerschau -- nicht alles, was gefällt, ist auch erlaubt ... 82
Weiter im (Kassen-)Programm -- jetzt mit Schleife ... 84
... es gibt keine blöden Kommentare! ... 87
Die »if«-Anweisung -- wenn schon, denn schon ... 88
Zeit für Entscheidungen -- dein erstes »if« ... 89
Wenn, dann und ansonsten? ... 91
Wenn schon, denn schon und auch noch »else« ... ... 92
Einfachere Bedingungen! ... 93
Kürzeres »else if« mit »elif« ... 94
»while« -- The Python-Way mit »break« ... 97
Die Sache mit dem Walross := ... 98
match -- case, wähl mal ... 100
Was hast du gelernt? Was haben wir gemacht? ... 106
3. Arbeitszimmer und Werkbänke. Funktionen und Rückgabewerte ... 107
Funktionen ... 108
Der Name der Funktion ... 109
Falsche oder richtige Funktionsnamen? ... 110
Eigene Funktionen -- der erste Prototyp ... 111
Deine Funktion im Programmablauf ... 113
Deine erste eigene Funktion ... 114
Dynamik dank Parameter? ... 115
Zeit zum Ausprobieren! Einmal »lecker Funktion« mit extra Parametern! ... 117
Mehr Freiheit dank der Standardwerte ... 118
Standardwerte -- Probieren geht über Studieren ... 119
Schlüssel-Wert-Paare -- alles richtig zugeordnet ... 121
Wie könnte so eine Funktion »spam« aussehen? ... 122
Besser als jede Doku -- Docstrings ... 124
Weiter mit der Funktion in Kastenform ... 126
Funktionen -- die Super-Fehlervermeider ... 128
The return of the living values ... 132
Der »Wertekorrigierer« -- Steuerung mit »return« ... 134
Mehrere Werte mit »return« zurückgeben ... 135
Du und deine Funktion -- ein paar Beispiele ... 136
Spiel's noch mal Sam -- die Rekursion! ... 137
Die dunkle Seite der Funktionen -- »local« und »global« ... 138
Lokal vs. global -- was geht? ... 139
»global« -- die dunkle Seite der Macht ... 140
Große Aufgabe dank Funktionen ganz klein -- Kassenprogramm reloaded ... 141
Was hast du gelernt? Was haben wir gemacht? ... 144
4. Listen, Tupel, Sets und Dictionaries. ... alle Daten sind schon da! ... 145
Du und deine Liste ... 146
Der 1. FC Dinkel und andere Mannschaften ... 149
Teile und herrsche -- Teile von Listen ... 151
Der neue Star auf dem Feld -- die »for«-Schleife ... 152
Wie für »for« gemacht -- »range« ... 153
Das Hornberger Elfmeterschießen -- erst mit »for« und dann mit »range« ... 155
Index und Wert ausgeben mit »enumerate« ... 157
Wenn Besuch kommt -- eine Mannschaft mehr ... 158
Die Sache mit den Methoden ... 159
Eine ganze Liste anhängen mit »extend« ... 160
Einzelne Werte einfügen mit »insert« ... 161
Alles wieder andersrum -- mit »reverse« ... 162
Geordnet und wohlsortiert, dank »sort« ... 162
Sortieren nach Schrödingers Gnaden ... 164
Ein Element aus der Liste holen und entfernen -- »pop« ... 166
Ja, wo is' er denn -- »index« ... 167
Einfach nur löschen -- »remove« ... 167
Alle Werte sind schon da -- »count« und »in« ... 168
Du, die Liste und deine Vereine ... 170
Ziemlich einmalig -- das Set ... 173
Tupel -- in Stein gemeißelte Listen ... 175
Du und deine Tore -- gut gespeichert im Dictionary ... 178
Werte auslesen mit »get« ... 179
Zeigt her eure Werte -- alle Werte eines Dictionarys ausgeben ... 180
Was hast du gelernt? Was haben wir gemacht? ... 182
5. Text, Strings und Abenteurer. Texte verändern und bearbeiten ... 183
Hilfreich wie eine Machete im Dschungel -- der Backslash »« ... 186
Texte zusammenfügen ... 188
Übung macht den Meister ... 190
Die erste Aufgabe -- Umbenennen von Dateinamen ... 191
Die richtige Ausrüstung für den Textdschungel -- hilfreiche Methoden ... 194
Alle Funktionalitäten in einer Funktion ... 196
Strings schöner ausgeben -- mehr als nur Kosmetik ... 199
Variable im Text -- praktisch und einfach mit »{ }« ... 202
Der Vollständigkeit halber -- formatiert mit »%« ... 204
Alle Wörter großgeschrieben -- »title« ... 205
Wie oft ist das noch da -- »count« ... 205
Wo ist der Schatz -- suchen mit »find« und »rfind« ... 206
So machst du aus Listen Texte -- »join« ... 207
Ist das eigentlich 'ne Zahl -- »isnumeric« ... 208
Buchstaben und Zahlen -- »isalnum« ... 209
Sind da nur Buchstaben -- »isalpha« ... 209
Von der grauen Theorie zum praktischen Nutzen ... 210
Method Chaining -- Methoden in Reihe ... 213
Was hast du gelernt? Was haben wir gemacht? ... 214
6. Von Käfern und anderen Fehlern. Nur kein Fehler ist ein guter Fehler ... 215
Fehlerbehandlung mit »try« und »except« ... 218
Bombensichere Eingaben dank »try« und »except« ... 219
Kenne deine Gegner -- unterschiedliche Fehlerarten ... 223
Fehlerbehandlungen im Eigenbau ... 225
Mit deinem Fehler auf du und du ... 226
Schönere Fehlerbehandlung mit »else« und »finally« ... 230
Fehler geschüttelt, nicht gerührt ... 231
Zu guter Letzt -- »finally« ... 233
Debuggen (nicht nur) mit Thonny ... 234
Du, der Debugger und die Breakpoints ... 236
Gezielte Fehlerjagd mit Breakpoints ... 240
Was hast du gelernt? Was haben wir gemacht? ... 242
7. Die Module spielen verrückt. Die Standardbibliothek und noch viel mehr ... 243
Schnelle Infos dank Docstring und »help« ... 247
Ein Modul namens »dateiname« ... 249
Modul und trotzdem Programm ... 251
Das doppelt gemoppelte Modul für den direkten Test ... 254
Mächtig vielseitig -- globale Variablen (nicht nur) in Modulen ... 255
Die Methode »dateiname« -- nur noch flexibler ... 258
Schrecklich lange Modulnamen -- »as« ... 260
Das Modul einer Variablen zuweisen ... 261
Module wie du und ich -- Python Standard Library ... 264
Was für ein Zufall -- »random« ... 266
Wo liegt der Unterschied? ... 267
Import mit »from«, »import« und »as« -- gezielt und direkt ... 268
Wie viel Zufall steckt in Zufallszahlen? ... 270
Mehr als nur ein Import -- zwei Importe ... 271
Was hast du gelernt? Was haben wir gemacht? ... 272
8. Von Klassen, Objekten und alten Griechen. Objektorientierte Programmierung ... 273
Die gute, alte Softwarekrise ... 274
Retter gesucht? Retter gefunden: OOP! ... 274
Ganz konkret -- die Sache mit Klassen und Objekten ... 277
Von der ersten Klasse zum ersten Objekt ... 278
Alles auf Anfang -- die Methode »_ _init_ _« ... 279
Dein erstes Attribut ... 280
Es gibt auch ganz schnöde Variablen ... 282
Mehr Infos dank Docstring ... 283
Das Orakel von Delphi ... 285
Die erste Klasse am Stück -- gleich mal etwas reloaded ... 288
Das erste eigene Objekt ... 289
Orakel reloaded -- das Attribut ändern ... 293
Vorsicht beim Zugriff auf Attribute! ... 294
Die Sache mit den Parametern ... 296
Vertrauen ist gut, Kontrolle besser ... 297
Übergebene Werte sind gefährlich! ... 298
Das ist die Stunde der Methode »property«! ... 299
Besser als nur Setter und Getter ... 301
»property« und Orakel -- das passt! ... 305
... der durchaus seltsame klingende, aber ziemlich coole »@property«-Dekorator ... 308
»private« und »protected« -- aber gar nicht so ganz ... 310
Wiederverwendbarkeit und Vererbung ... 314
Besser als recyceln -- neue Klasse aus alter Klasse ... 316
Super Sache dieses »super« ... 319
Statische Attribute und Methoden ... 321
Was hast du gelernt? Was haben wir gemacht? ... 325
9. Höchste Zeit für Datum, Zeit und Zeitangaben. Schrödingers Zeitmaschine ... 327
Du und deine Zeitmaschine ... 328
Welcher Tag ist heute? Welches Jahr!? -- »date« ... 328
Bastel mal ein schickes Datum ... 330
Tag, Monat, Jahr mit Platzhaltern in Form bringen ... 331
Einmal Datum, geschüttelt -- nicht gerührt ... 333
Es wird Zeit, die Zeit zu ändern ... ... 335
Was von der ganzen Zeit noch übrig bleibt ... 337
Stunden, Minuten und Sekunden mit »time« ... 339
Ist noch Zeit für einen Dinkelkaffee? ... 341
Es ist an der Zeit, die Zeit zu formatieren! ... 343
Gestatten, »datetime«, aus dem Hause »datetime« ... 346
Besser als jedes Orakel -- Zeit lesen mit »strptime« ... 347
Datum und Zeit finden -- so ganz in der Praxis ... 349
... 351
Ganz großes Kino -- Unixtime und The Epoch ... 351
Wann war die letzte Änderung? ... 353
Noch ein Wort zu »timedelta« -- rechne mit der Zeit ... 355
... rette Weihnachten mit »timedelta« ... 356
Was hast du gelernt? Was haben wir gemacht? ... 358
10. Vom wichtigen Umgang mit Daten, Dateien und Ordnern. Endlich in Stein gemeißelt ... 359
Wohin mit all den Daten? ... 360
Das Regal auf der Gurke ... 361
Zeit zum Lesen ... 363
Zeit für ein bisschen Serialisierung ... 364
Du und dein Regal -- ein paar hilfreiche Informationen ... 365
Mit Netz und doppeltem Boden ... 366
Du und deine Textdatei -- schreiben und lesen ... 368
Und es geht noch kürzer -- mit »with«! ... 370
Du und deine Textdatei ... 371
Listen und Zeilenumbrüche schreiben ... 373
Zeilenweises Lesen ... 375
Im Dschungel der Ordner und Dateien ... 376
Halt mal die Machete -- Überleben im Ordnerdschungel ... 380
Kopieren oder nicht kopieren, das ist hier die Frage ... 383
Eindeutige Hash-Werte für Vergleiche ... 385
Und nicht vergessen: Verschieben und Löschen ... 387
Was hast du gelernt? Was haben wir gemacht? ... 388
11. Zufallszahlen, Matrizen und Arrays. Ein klein bisschen Mathematik, die du wirklich gebrauchen kannst ... 389
Du, die Zufallszahlen und NumPy ... 391
Auf dem Weg zum Millionär -- ein Lottoprogramm ... 394
Andere Verteilungen bei den Zufallszahlen ... 396
Ganz normalverteilte Werte ... ... 399
Die Sache mit den Arrays ... 401
Ein paar schnelle Berechnungen ... 403
Bau mal ein Array ... 406
Weniger selbst arbeiten -- Arrays mit »arange« ... 407
Die Sache mit den mehrdimensionalen Arrays ... 408
Bastelarbeiten mit Arrays ... 410
Rechnen mit Arrays ... 412
Was hast du gelernt? Was haben wir gemacht? ... 414
12. Grafische Oberflächen. Buttons, GUI und Layout-Manager ... 415
Der Layout-Manager »pack« und die Sache mit den Frames ... 419
Mit deinem Fenster auf du und du ... 422
Ein bisschen Kosmetik mit schöneren Elementen ... 427
Die Sache mit dem Lambda -- nicht nur für GUIs ... 429
Button mit Parametern -- ganz einfach dank Lambda ... 431
Rechnen mit dem Schrödinator und die Sache mit den »tkinter«-Variablen ... 435
Ganz kurz noch schönere Schriften ... 437
Ereignisse im objektorientieren Fenster ... 438
Das Schrödinger-Zeichenprogramm ... 446
Was hast du gelernt? Was haben wir gemacht? ... 448
13. Von Daten, Datenbanken und SQL. Das relationale Datenbankmodell ... 449
Retter und Held gesucht: Datenbankprofi ... 451
Daten braucht das Land! ... 459
Keine doppelten Sachen -- die Sache mit dem Primärschlüssel ... 462
Stopp die Viren und Trojaner! ... 464
»fetchall«, »fetchmany«, »fetchone« -- alle, viele, einer ... 470
Finde die richtige Abwehrstrategie! ... 473
Die Sache mit dem WHERE ... 475
Schönere Datenbankverbindung mit »with« ... 478
Weiter im Programm mit der kontrollierten Eingabe ... 479
Eine Funktion, alles zu speichern ... ... 481
Zeit, die Viren zu stoppen -- die Auswertung der Daten ... 483
Höchste Zeit für schnelle Auswertungen ... 487
Finale -- Ändern mit UPDATE ... 494
Die Sache mit den Normalformen ... 499
Mehr Leistung mit dem Index ... 504
Was hast du gelernt? Was haben wir gemacht? ... 506
14. Hast du mal einen Chart für mich? Zahlen und Daten im Überfluss ... 507
Drei Kurven sollt ihr sein ... 513
Zeit für die erste Auswertung ... 515
Nicht nur für Charts: Schlaue Listen mit List Comprehension ... 517
Kleine, schlaue Listen selbst gemacht ... 520
Da geht noch was -- noch ein »if« und auch ein »else« ... 526
Sahne, Frucht und Dinkel -- was ist am beliebtesten? ... 528
Mehr als nur ein Fenster -- die Sache mit den »subplots« ... 531
Noch mehr Torten -- das Kuchendiagramm ... 534
Du und deine Normalverteilung -- von ziemlich eindimensional bis schick in 3D ... 537
Was hast du gelernt? Was haben wir gemacht? ... 540
15. Künstliche Intelligenz & Data Science. Wenn der eigene Kopf schon raucht ... 541
Richtige Ergebnisse -- mal ganz ohne Formel ... 545
Und jetzt alles mit echter KI ... 548
(Trainings-)Daten braucht das Land ... 549
Nicht für die Schule lernt die KI ... 549
Zeit, das Orakel zu befragen ... 550
Die zweite Zahlenreihe ... 551
Zeit für noch mehr Lernen lassen ... 552
Virenerkennung mit dem RandomForestClassifier ... 555
Daten polieren -- mit der richtigen Strategie! ... 558
Mittelwert und Median als Strategie ... 562
Was hast du gelernt? Was haben wir gemacht? ... 564
16. Datenaustausch mit CSV und JSON. Daten schreiben -- Daten lesen ... 565
Ein paar Einstellungen und der richtige Dialekt ... 571
Da geht auch was mit Dictionaries ... 573
Zeit zu lesen ... 575
Die Sache mit JSON ... 578
Einmal JSON und zurück ... 579
Auch JSON will gelesen sein ... 581
Was hast du gelernt? Was haben wir gemacht? ... 582
17. Reguläre Ausdrücke. Das Schweizer Messer der Textverarbeitung ... 583
Eine Suche -- ganz klassisch ... 585
Mit regulären Ausdrücken ist das kein Problem! ... 588
Nur mal kurz: Ein paar Flaggen ... 593
Eine Funktion zur passgenauen Wortsuche ... 595
Vordefinierte Zeichenklassen, ein Punkt und viele Beispiele ... 599
Ein Beispiel -- die Suche nach Datum und Zeit ... 602
Besser als jedes Orakel -- das Matchobjekt auslesen ... 604
Finde die Kennung -- probieren geht über studieren ... 605
Selber basteln -- eigene Zeichenklassen ... 608
Schöneres Datum dank eigener Zeichenklassen ... 611
Quantifier -- wie oft oder vielleicht auch gar nicht? ... 614
Mehr als ein Treffer -- »findall« und »finditer« ... 617
Mach mal was mit Quantifiern ... 618
Ganz kurz: Quantifier mit »?«, »*« und »+« ... 621
Ein (fast) gültiges Kennwort ... 622
Ein Anfang, ein Ende und ein paar Empfehlungen ... 624
Suchgruppen -- mehr als nur ein Zeichen ... 627
Die Sache mit »compile« ... 629
Was hast du gelernt? Was haben wir gemacht? ... 630
Anhang. Die verlorenen Kapitel. Für alles, was (noch) nicht passend ist ... 631
A ... Installation von Python unter Windows ... 633
B ... Die Python-Shell ... 639
C ... PEP 20 ... 647
D ... Die All-in-one-Entwicklungsumgebung ... 651
E ... DB Browser for SQLite ... 661
Index ... 671
1. Schrödinger startet durch -- mit Python! Python, erste schnelle Schritte ... 23
Die Programmiersprache Python! ... 25
Das Zen of Python und die Sache mit den PEPs ... 26
Python, ein erstes »Hallo Welt« ... 27
Fingerübungen mit »print« ... 31
Hallo Welt in (einzeiligen) Variationen ... 32
Wir müssen reden: Du und deine Variablen ... 35
Variablen -- was geht? Und was ist voll krass korrekt? ... 39
Die Sache mit den (Daten-)Typen ... 43
Diese Datentypen sind für dich da! ... 47
Über den richtigen Kamm scheren -- Datentypen konvertieren ... 48
Lustiges Konvertieren -- was Python zu was macht ... 51
Die Funktion »str()« -- verwandelt alles in Text ... 51
Die Funktion »int()« -- ganze Zahlen ... 52
Die Funktion »float()« -- Fließkomma mit Punkt ... 53
Die Funktion »bool()« -- Wahrheit oder Pflicht ... 53
Was ist das denn für ein Typ -- »type()« ... 54
Probier's doch mal aus ... 56
Und was ist noch wichtig? ... 57
Syntax, Variablen, Datentypen und dynamische Typisierung ... 58
2. Ein Dinkel macht noch keinen Korn. Syntax, Kommentar und guter Stil ... 59
Eingabe, Berechnung und eine Ausgabe ... 61
Zahlen mit Komma -- statt mit dem Punkt ... 64
Die Zeit der Abrechnung ist gekommen ... 66
Damit kannst du rechnen -- die Grundrechenarten ... 67
Wie wär's mit einem Rabatt? ... 69
Du und deine Kontrollstruktur ... 72
»while« -- Schleifen binden leicht gemacht ... 72
Ganz wichtig: Die Bedingung der Schleife ... 73
Ein schneller Blick auf die Vergleiche ... 74
Schleifen binden -- der erste eigene Prototyp ... 76
Entrückt -- Einrückungen statt Klammern ... 79
Fehlerschau -- nicht alles, was gefällt, ist auch erlaubt ... 82
Weiter im (Kassen-)Programm -- jetzt mit Schleife ... 84
... es gibt keine blöden Kommentare! ... 87
Die »if«-Anweisung -- wenn schon, denn schon ... 88
Zeit für Entscheidungen -- dein erstes »if« ... 89
Wenn, dann und ansonsten? ... 91
Wenn schon, denn schon und auch noch »else« ... ... 92
Einfachere Bedingungen! ... 93
Kürzeres »else if« mit »elif« ... 94
»while« -- The Python-Way mit »break« ... 97
Die Sache mit dem Walross := ... 98
match -- case, wähl mal ... 100
Was hast du gelernt? Was haben wir gemacht? ... 106
3. Arbeitszimmer und Werkbänke. Funktionen und Rückgabewerte ... 107
Funktionen ... 108
Der Name der Funktion ... 109
Falsche oder richtige Funktionsnamen? ... 110
Eigene Funktionen -- der erste Prototyp ... 111
Deine Funktion im Programmablauf ... 113
Deine erste eigene Funktion ... 114
Dynamik dank Parameter? ... 115
Zeit zum Ausprobieren! Einmal »lecker Funktion« mit extra Parametern! ... 117
Mehr Freiheit dank der Standardwerte ... 118
Standardwerte -- Probieren geht über Studieren ... 119
Schlüssel-Wert-Paare -- alles richtig zugeordnet ... 121
Wie könnte so eine Funktion »spam« aussehen? ... 122
Besser als jede Doku -- Docstrings ... 124
Weiter mit der Funktion in Kastenform ... 126
Funktionen -- die Super-Fehlervermeider ... 128
The return of the living values ... 132
Der »Wertekorrigierer« -- Steuerung mit »return« ... 134
Mehrere Werte mit »return« zurückgeben ... 135
Du und deine Funktion -- ein paar Beispiele ... 136
Spiel's noch mal Sam -- die Rekursion! ... 137
Die dunkle Seite der Funktionen -- »local« und »global« ... 138
Lokal vs. global -- was geht? ... 139
»global« -- die dunkle Seite der Macht ... 140
Große Aufgabe dank Funktionen ganz klein -- Kassenprogramm reloaded ... 141
Was hast du gelernt? Was haben wir gemacht? ... 144
4. Listen, Tupel, Sets und Dictionaries. ... alle Daten sind schon da! ... 145
Du und deine Liste ... 146
Der 1. FC Dinkel und andere Mannschaften ... 149
Teile und herrsche -- Teile von Listen ... 151
Der neue Star auf dem Feld -- die »for«-Schleife ... 152
Wie für »for« gemacht -- »range« ... 153
Das Hornberger Elfmeterschießen -- erst mit »for« und dann mit »range« ... 155
Index und Wert ausgeben mit »enumerate« ... 157
Wenn Besuch kommt -- eine Mannschaft mehr ... 158
Die Sache mit den Methoden ... 159
Eine ganze Liste anhängen mit »extend« ... 160
Einzelne Werte einfügen mit »insert« ... 161
Alles wieder andersrum -- mit »reverse« ... 162
Geordnet und wohlsortiert, dank »sort« ... 162
Sortieren nach Schrödingers Gnaden ... 164
Ein Element aus der Liste holen und entfernen -- »pop« ... 166
Ja, wo is' er denn -- »index« ... 167
Einfach nur löschen -- »remove« ... 167
Alle Werte sind schon da -- »count« und »in« ... 168
Du, die Liste und deine Vereine ... 170
Ziemlich einmalig -- das Set ... 173
Tupel -- in Stein gemeißelte Listen ... 175
Du und deine Tore -- gut gespeichert im Dictionary ... 178
Werte auslesen mit »get« ... 179
Zeigt her eure Werte -- alle Werte eines Dictionarys ausgeben ... 180
Was hast du gelernt? Was haben wir gemacht? ... 182
5. Text, Strings und Abenteurer. Texte verändern und bearbeiten ... 183
Hilfreich wie eine Machete im Dschungel -- der Backslash »« ... 186
Texte zusammenfügen ... 188
Übung macht den Meister ... 190
Die erste Aufgabe -- Umbenennen von Dateinamen ... 191
Die richtige Ausrüstung für den Textdschungel -- hilfreiche Methoden ... 194
Alle Funktionalitäten in einer Funktion ... 196
Strings schöner ausgeben -- mehr als nur Kosmetik ... 199
Variable im Text -- praktisch und einfach mit »{ }« ... 202
Der Vollständigkeit halber -- formatiert mit »%« ... 204
Alle Wörter großgeschrieben -- »title« ... 205
Wie oft ist das noch da -- »count« ... 205
Wo ist der Schatz -- suchen mit »find« und »rfind« ... 206
So machst du aus Listen Texte -- »join« ... 207
Ist das eigentlich 'ne Zahl -- »isnumeric« ... 208
Buchstaben und Zahlen -- »isalnum« ... 209
Sind da nur Buchstaben -- »isalpha« ... 209
Von der grauen Theorie zum praktischen Nutzen ... 210
Method Chaining -- Methoden in Reihe ... 213
Was hast du gelernt? Was haben wir gemacht? ... 214
6. Von Käfern und anderen Fehlern. Nur kein Fehler ist ein guter Fehler ... 215
Fehlerbehandlung mit »try« und »except« ... 218
Bombensichere Eingaben dank »try« und »except« ... 219
Kenne deine Gegner -- unterschiedliche Fehlerarten ... 223
Fehlerbehandlungen im Eigenbau ... 225
Mit deinem Fehler auf du und du ... 226
Schönere Fehlerbehandlung mit »else« und »finally« ... 230
Fehler geschüttelt, nicht gerührt ... 231
Zu guter Letzt -- »finally« ... 233
Debuggen (nicht nur) mit Thonny ... 234
Du, der Debugger und die Breakpoints ... 236
Gezielte Fehlerjagd mit Breakpoints ... 240
Was hast du gelernt? Was haben wir gemacht? ... 242
7. Die Module spielen verrückt. Die Standardbibliothek und noch viel mehr ... 243
Schnelle Infos dank Docstring und »help« ... 247
Ein Modul namens »dateiname« ... 249
Modul und trotzdem Programm ... 251
Das doppelt gemoppelte Modul für den direkten Test ... 254
Mächtig vielseitig -- globale Variablen (nicht nur) in Modulen ... 255
Die Methode »dateiname« -- nur noch flexibler ... 258
Schrecklich lange Modulnamen -- »as« ... 260
Das Modul einer Variablen zuweisen ... 261
Module wie du und ich -- Python Standard Library ... 264
Was für ein Zufall -- »random« ... 266
Wo liegt der Unterschied? ... 267
Import mit »from«, »import« und »as« -- gezielt und direkt ... 268
Wie viel Zufall steckt in Zufallszahlen? ... 270
Mehr als nur ein Import -- zwei Importe ... 271
Was hast du gelernt? Was haben wir gemacht? ... 272
8. Von Klassen, Objekten und alten Griechen. Objektorientierte Programmierung ... 273
Die gute, alte Softwarekrise ... 274
Retter gesucht? Retter gefunden: OOP! ... 274
Ganz konkret -- die Sache mit Klassen und Objekten ... 277
Von der ersten Klasse zum ersten Objekt ... 278
Alles auf Anfang -- die Methode »_ _init_ _« ... 279
Dein erstes Attribut ... 280
Es gibt auch ganz schnöde Variablen ... 282
Mehr Infos dank Docstring ... 283
Das Orakel von Delphi ... 285
Die erste Klasse am Stück -- gleich mal etwas reloaded ... 288
Das erste eigene Objekt ... 289
Orakel reloaded -- das Attribut ändern ... 293
Vorsicht beim Zugriff auf Attribute! ... 294
Die Sache mit den Parametern ... 296
Vertrauen ist gut, Kontrolle besser ... 297
Übergebene Werte sind gefährlich! ... 298
Das ist die Stunde der Methode »property«! ... 299
Besser als nur Setter und Getter ... 301
»property« und Orakel -- das passt! ... 305
... der durchaus seltsame klingende, aber ziemlich coole »@property«-Dekorator ... 308
»private« und »protected« -- aber gar nicht so ganz ... 310
Wiederverwendbarkeit und Vererbung ... 314
Besser als recyceln -- neue Klasse aus alter Klasse ... 316
Super Sache dieses »super« ... 319
Statische Attribute und Methoden ... 321
Was hast du gelernt? Was haben wir gemacht? ... 325
9. Höchste Zeit für Datum, Zeit und Zeitangaben. Schrödingers Zeitmaschine ... 327
Du und deine Zeitmaschine ... 328
Welcher Tag ist heute? Welches Jahr!? -- »date« ... 328
Bastel mal ein schickes Datum ... 330
Tag, Monat, Jahr mit Platzhaltern in Form bringen ... 331
Einmal Datum, geschüttelt -- nicht gerührt ... 333
Es wird Zeit, die Zeit zu ändern ... ... 335
Was von der ganzen Zeit noch übrig bleibt ... 337
Stunden, Minuten und Sekunden mit »time« ... 339
Ist noch Zeit für einen Dinkelkaffee? ... 341
Es ist an der Zeit, die Zeit zu formatieren! ... 343
Gestatten, »datetime«, aus dem Hause »datetime« ... 346
Besser als jedes Orakel -- Zeit lesen mit »strptime« ... 347
Datum und Zeit finden -- so ganz in der Praxis ... 349
... 351
Ganz großes Kino -- Unixtime und The Epoch ... 351
Wann war die letzte Änderung? ... 353
Noch ein Wort zu »timedelta« -- rechne mit der Zeit ... 355
... rette Weihnachten mit »timedelta« ... 356
Was hast du gelernt? Was haben wir gemacht? ... 358
10. Vom wichtigen Umgang mit Daten, Dateien und Ordnern. Endlich in Stein gemeißelt ... 359
Wohin mit all den Daten? ... 360
Das Regal auf der Gurke ... 361
Zeit zum Lesen ... 363
Zeit für ein bisschen Serialisierung ... 364
Du und dein Regal -- ein paar hilfreiche Informationen ... 365
Mit Netz und doppeltem Boden ... 366
Du und deine Textdatei -- schreiben und lesen ... 368
Und es geht noch kürzer -- mit »with«! ... 370
Du und deine Textdatei ... 371
Listen und Zeilenumbrüche schreiben ... 373
Zeilenweises Lesen ... 375
Im Dschungel der Ordner und Dateien ... 376
Halt mal die Machete -- Überleben im Ordnerdschungel ... 380
Kopieren oder nicht kopieren, das ist hier die Frage ... 383
Eindeutige Hash-Werte für Vergleiche ... 385
Und nicht vergessen: Verschieben und Löschen ... 387
Was hast du gelernt? Was haben wir gemacht? ... 388
11. Zufallszahlen, Matrizen und Arrays. Ein klein bisschen Mathematik, die du wirklich gebrauchen kannst ... 389
Du, die Zufallszahlen und NumPy ... 391
Auf dem Weg zum Millionär -- ein Lottoprogramm ... 394
Andere Verteilungen bei den Zufallszahlen ... 396
Ganz normalverteilte Werte ... ... 399
Die Sache mit den Arrays ... 401
Ein paar schnelle Berechnungen ... 403
Bau mal ein Array ... 406
Weniger selbst arbeiten -- Arrays mit »arange« ... 407
Die Sache mit den mehrdimensionalen Arrays ... 408
Bastelarbeiten mit Arrays ... 410
Rechnen mit Arrays ... 412
Was hast du gelernt? Was haben wir gemacht? ... 414
12. Grafische Oberflächen. Buttons, GUI und Layout-Manager ... 415
Der Layout-Manager »pack« und die Sache mit den Frames ... 419
Mit deinem Fenster auf du und du ... 422
Ein bisschen Kosmetik mit schöneren Elementen ... 427
Die Sache mit dem Lambda -- nicht nur für GUIs ... 429
Button mit Parametern -- ganz einfach dank Lambda ... 431
Rechnen mit dem Schrödinator und die Sache mit den »tkinter«-Variablen ... 435
Ganz kurz noch schönere Schriften ... 437
Ereignisse im objektorientieren Fenster ... 438
Das Schrödinger-Zeichenprogramm ... 446
Was hast du gelernt? Was haben wir gemacht? ... 448
13. Von Daten, Datenbanken und SQL. Das relationale Datenbankmodell ... 449
Retter und Held gesucht: Datenbankprofi ... 451
Daten braucht das Land! ... 459
Keine doppelten Sachen -- die Sache mit dem Primärschlüssel ... 462
Stopp die Viren und Trojaner! ... 464
»fetchall«, »fetchmany«, »fetchone« -- alle, viele, einer ... 470
Finde die richtige Abwehrstrategie! ... 473
Die Sache mit dem WHERE ... 475
Schönere Datenbankverbindung mit »with« ... 478
Weiter im Programm mit der kontrollierten Eingabe ... 479
Eine Funktion, alles zu speichern ... ... 481
Zeit, die Viren zu stoppen -- die Auswertung der Daten ... 483
Höchste Zeit für schnelle Auswertungen ... 487
Finale -- Ändern mit UPDATE ... 494
Die Sache mit den Normalformen ... 499
Mehr Leistung mit dem Index ... 504
Was hast du gelernt? Was haben wir gemacht? ... 506
14. Hast du mal einen Chart für mich? Zahlen und Daten im Überfluss ... 507
Drei Kurven sollt ihr sein ... 513
Zeit für die erste Auswertung ... 515
Nicht nur für Charts: Schlaue Listen mit List Comprehension ... 517
Kleine, schlaue Listen selbst gemacht ... 520
Da geht noch was -- noch ein »if« und auch ein »else« ... 526
Sahne, Frucht und Dinkel -- was ist am beliebtesten? ... 528
Mehr als nur ein Fenster -- die Sache mit den »subplots« ... 531
Noch mehr Torten -- das Kuchendiagramm ... 534
Du und deine Normalverteilung -- von ziemlich eindimensional bis schick in 3D ... 537
Was hast du gelernt? Was haben wir gemacht? ... 540
15. Künstliche Intelligenz & Data Science. Wenn der eigene Kopf schon raucht ... 541
Richtige Ergebnisse -- mal ganz ohne Formel ... 545
Und jetzt alles mit echter KI ... 548
(Trainings-)Daten braucht das Land ... 549
Nicht für die Schule lernt die KI ... 549
Zeit, das Orakel zu befragen ... 550
Die zweite Zahlenreihe ... 551
Zeit für noch mehr Lernen lassen ... 552
Virenerkennung mit dem RandomForestClassifier ... 555
Daten polieren -- mit der richtigen Strategie! ... 558
Mittelwert und Median als Strategie ... 562
Was hast du gelernt? Was haben wir gemacht? ... 564
16. Datenaustausch mit CSV und JSON. Daten schreiben -- Daten lesen ... 565
Ein paar Einstellungen und der richtige Dialekt ... 571
Da geht auch was mit Dictionaries ... 573
Zeit zu lesen ... 575
Die Sache mit JSON ... 578
Einmal JSON und zurück ... 579
Auch JSON will gelesen sein ... 581
Was hast du gelernt? Was haben wir gemacht? ... 582
17. Reguläre Ausdrücke. Das Schweizer Messer der Textverarbeitung ... 583
Eine Suche -- ganz klassisch ... 585
Mit regulären Ausdrücken ist das kein Problem! ... 588
Nur mal kurz: Ein paar Flaggen ... 593
Eine Funktion zur passgenauen Wortsuche ... 595
Vordefinierte Zeichenklassen, ein Punkt und viele Beispiele ... 599
Ein Beispiel -- die Suche nach Datum und Zeit ... 602
Besser als jedes Orakel -- das Matchobjekt auslesen ... 604
Finde die Kennung -- probieren geht über studieren ... 605
Selber basteln -- eigene Zeichenklassen ... 608
Schöneres Datum dank eigener Zeichenklassen ... 611
Quantifier -- wie oft oder vielleicht auch gar nicht? ... 614
Mehr als ein Treffer -- »findall« und »finditer« ... 617
Mach mal was mit Quantifiern ... 618
Ganz kurz: Quantifier mit »?«, »*« und »+« ... 621
Ein (fast) gültiges Kennwort ... 622
Ein Anfang, ein Ende und ein paar Empfehlungen ... 624
Suchgruppen -- mehr als nur ein Zeichen ... 627
Die Sache mit »compile« ... 629
Was hast du gelernt? Was haben wir gemacht? ... 630
Anhang. Die verlorenen Kapitel. Für alles, was (noch) nicht passend ist ... 631
A ... Installation von Python unter Windows ... 633
B ... Die Python-Shell ... 639
C ... PEP 20 ... 647
D ... Die All-in-one-Entwicklungsumgebung ... 651
E ... DB Browser for SQLite ... 661
Index ... 671