Schrödinger programmiert Python

Inhaltsverzeichnis



  Schrödingers Büro ... 4

  Schrödingers Werkstatt ... 6

  Schrödingers Wohnzimmer ... 8

  Impressum ... 10

  Inhaltsverzeichnis ... 12

  Vorwort ... 22

  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

       Was hast du gelernt? Was haben wir gemacht? ... 98

  3.  Arbeitszimmer und Werkbänke -- Funktionen und Rückgabewerte ... 99

       Funktionen ... 100

       Der Name der Funktion ... 101

       Falsche oder richtige Funktionsnamen? ... 102

       Eigene Funktionen -- der erste Prototyp ... 103

       Deine Funktion im Programmablauf ... 105

       Deine erste eigene Funktion ... 106

       Dynamik dank Parameter? ... 107

       Zeit zum Ausprobieren! Einmal »lecker Funktion« mit extra Parametern! ... 109

       Mehr Freiheit dank der Standardwerte ... 110

       Standardwerte -- Probieren geht über Studieren ... 111

       Schlüssel-Wert-Paare -- alles richtig zugeordnet ... 113

       Wie könnte so eine Funktion »spam« aussehen? ... 114

       Besser als jede Doku -- Docstrings ... 116

       Weiter mit der Funktion in Kastenform ... 118

       Funktionen -- die Super-Fehlervermeider ... 120

       The return of the living values ... 124

       Der »Wertekorrigierer« -- Steuerung mit »return« ... 126

       Mehrere Werte mit »return« zurückgeben ... 127

       Du und deine Funktion -- ein paar Beispiele ... 128

       Spiel's noch mal Sam -- die Rekursion! ... 129

       Die dunkle Seite der Funktionen -- »local« und »global« ... 130

       Lokal vs. global -- was geht? ... 131

       »global« -- die dunkle Seite der Macht ... 132

       Große Aufgabe dank Funktionen ganz klein -- Kassenprogramm reloaded ... 133

       Was hast du gelernt? Was haben wir gemacht? ... 136

  4.  Listen, Tupel, Sets und Dictionaries -- ... alle Daten sind schon da! ... 137

       Du und deine Liste ... 138

       Der 1. FC Dinkel und andere Mannschaften ... 141

       Teile und herrsche -- Teile von Listen ... 143

       Der neue Star auf dem Feld -- die »for«-Schleife ... 144

       Wie für »for« gemacht -- »range« ... 145

       Das Hornberger Elfmeterschießen -- erst mit »for« und dann mit »range« ... 147

       Index und Wert ausgeben mit »enumerate« ... 149

       Wenn Besuch kommt -- eine Mannschaft mehr ... 150

       Die Sache mit den Methoden ... 151

       Eine ganze Liste anhängen mit »extend« ... 152

       Einzelne Werte einfügen mit »insert« ... 153

       Alles wieder andersrum -- mit »reverse« ... 154

       Geordnet und wohlsortiert, dank »sort« ... 154

       Sortieren nach Schrödingers Gnaden ... 156

       Ein Element aus der Liste holen und entfernen -- »pop« ... 158

       Ja, wo is' er denn -- »index« ... 159

       Einfach nur löschen -- »remove« ... 159

       Alle Werte sind schon da -- »count« und »in« ... 160

       Du, die Liste und deine Vereine ... 162

       Ziemlich einmalig -- das Set ... 165

       Tupel -- in Stein gemeißelte Listen ... 167

       Moment mal, wie war das mit »immutable«? ... 169

       Du und deine Tore -- gut gespeichert im Dictionary ... 170

       Werte auslesen mit »get« ... 171

       Zeigt her eure Werte -- alle Werte eines Dictionarys ausgeben ... 172

       Was hast du gelernt? Was haben wir gemacht? ... 174

  5.  Text, Strings und Abenteurer -- Texte verändern und bearbeiten ... 175

       Hilfreich wie eine Machete im Dschungel -- der Backslash »« ... 178

       Texte zusammenfügen ... 180

       Übung macht den Meister ... 182

       Die erste Aufgabe -- Umbenennen von Dateinamen ... 183

       Die richtige Ausrüstung für den Textdschungel -- hilfreiche Methoden ... 186

       Alle Funktionalitäten in einer Funktion ... 188

       Strings schöner ausgeben -- mehr als nur Kosmetik ... 191

       Variable im Text -- praktisch und einfach mit »{}« ... 194

       Der Vollständigkeit halber -- formatiert mit »%« ... 196

       Alle Wörter großgeschrieben -- »title« ... 197

       Wie oft ist das noch da -- »count« ... 197

       Wo ist der Schatz -- suchen mit »find« und »rfind« ... 198

       So machst du aus Listen Texte -- »join« ... 199

       Ist das eigentlich 'ne Zahl -- »isnumeric« ... 200

       Buchstaben und Zahlen -- »isalnum« ... 201

       Sind da nur Buchstaben -- »isalpha« ... 201

       Von der grauen Theorie zum praktischen Nutzen ... 202

       Method Chaining -- Methoden in Reihe ... 205

       Was hast du gelernt? Was haben wir gemacht? ... 206

  6.  Von Käfern und anderen Fehlern -- Nur kein Fehler ist ein guter Fehler ... 207

       Fehlerbehandlung mit »try« und »except« ... 210

       Bombensichere Eingaben dank »try« und »except« ... 211

       Kenne deine Gegner -- unterschiedlichen Fehlerarten ... 215

       Fehlerbehandlungen im Eigenbau ... 217

       Mit deinem Fehler auf du und du ... 218

       Schönere Fehlerbehandlung mit »else« und »finally« ... 222

       Fehler geschüttelt, nicht gerührt ... 223

       Zu guter Letzt -- »finally« ... 225

       Debuggen (nicht nur) mit Thonny ... 226

       Du, der Debugger und die Breakpoints ... 228

       Gezielte Fehlerjagd mit Breakpoints ... 232

       Was hast du gelernt? Was haben wir gemacht? ... 234

  7.  Die Module spielen verrückt -- Die Standardbibliothek und noch viel mehr ... 235

       Schnelle Infos dank Docstring und »help« ... 239

       Ein Modul namens »dateiname« ... 241

       Modul und trotzdem Programm ... 243

       Das doppelt gemoppelte Modul für den direkten Test ... 246

       Mächtig vielseitig -- globale Variablen (nicht nur) in Modulen ... 247

       Die Methode »dateiname« -- nur noch flexibler ... 250

       Schrecklich lange Modulnamen -- »as« ... 252

       Das Modul einer Variablen zuweisen ... 253

       Module wie du und ich -- Python Standard Library ... 256

       Was für ein Zufall -- »random« ... 258

       Wo liegt der Unterschied? ... 259

       Import mit »from«, »import« und »as« -- gezielt und direkt ... 260

       Wie viel Zufall steckt in Zufallszahlen? ... 262

       Mehr als nur ein Import -- zwei Importe ... 263

       Was hast du gelernt? Was haben wir gemacht? ... 264

  8.  Von Klassen, Objekten und alten Griechen -- Objektorientierte Programmierung ... 265

       Die gute, alte Softwarekrise ... 266

       Retter gesucht? Retter gefunden: OOP! ... 266

       Ganz konkret -- die Sache mit Klassen und Objekten ... 269

       Von der ersten Klasse zum ersten Objekt ... 270

       Alles auf Anfang -- die Methode »__init__« ... 271

       Dein erstes Attribut ... 272

       Es gibt auch ganz schnöde Variablen ... 274

       Mehr Infos dank Docstring ... 275

       Das Orakel von Delphi ... 277

       Die erste Klasse am Stück -- gleich mal etwas reloaded ... 280

       Das erste eigene Objekt ... 281

       Orakel reloaded -- das Attribut ändern ... 285

       Vorsicht beim Zugriff auf Attribute! ... 286

       Die Sache mit den Parametern ... 288

       Vertrauen ist gut, Kontrolle besser ... 289

       Übergebene Werte sind gefährlich! ... 290

       Das ist die Stunde der Methode »property«! ... 291

       Besser als nur Setter und Getter ... 293

       »property« und Orakel -- das passt! ... 297

       ... der durchaus seltsame klingende, aber ziemlich coole »@property«-Dekorator ... 300

       »private« und »protected« -- aber gar nicht so ganz ... 302

       Wiederverwendbarkeit und Vererbung ... 306

       Besser als recyceln -- neue Klasse aus alter Klasse ... 308

       Super Sache dieses »super« ... 311

       Statische Attribute und Methoden ... 313

       Was hast du gelernt? Was haben wir gemacht? ... 317

  9.  Höchste Zeit für Datum, Zeit und Zeitangaben -- Schrödingers Zeitmaschine ... 319

       Du und deine Zeitmaschine ... 320

       Welcher Tag ist heute? Welches Jahr!? -- »date« ... 320

       Bastel mal ein schickes Datum ... 322

       Tag, Monat, Jahr mit Platzhaltern in Form bringen ... 323

       Einmal Datum, geschüttelt -- nicht gerührt ... 325

       Es wird Zeit, die Zeit zu ändern ... ... 327

       Was von der ganzen Zeit noch übrig bleibt ... 329

       Stunden, Minuten und Sekunden mit »time« ... 331

       Ist noch Zeit für einen Dinkelkaffee? ... 333

       Es ist an der Zeit, die Zeit zu formatieren! ... 335

       Gestatten, »datetime«, aus dem Hause »datetime« ... 338

       Besser als jedes Orakel -- Zeit lesen mit »strptime« ... 339

       Datum und Zeit finden -- so ganz in der Praxis ... 341

       Ganz großes Kino -- Unixtime und The Epoch ... 343

       Wann war die letzte Änderung? ... 345

       Noch ein Wort zu »timedelta« -- rechne mit der Zeit ... 347

       ... rette Weihnachten mit »timedelta« ... 348

       Was hast du gelernt? Was haben wir gemacht? ... 350

10.  Vom wichtigen Umgang mit Daten, Dateien und Ordnern -- Endlich in Stein gemeißelt ... 351

       Wohin mit all den Daten? ... 352

       Das Regal auf der Gurke ... 353

       Zeit zum Lesen ... 355

       Zeit für ein bisschen Serialisierung ... 356

       Du und dein Regal -- ein paar hilfreiche Informationen ... 357

       Mit Netz und doppeltem Boden ... 358

       Du und deine Textdatei -- schreiben und lesen ... 360

       Und es geht noch kürzer -- mit »with«! ... 362

       Du und deine Textdatei ... 363

       Listen und Zeilenumbrüche schreiben ... 365

       Zeilenweises Lesen ... 367

       Im Dschungel der Ordner und Dateien ... 368

       Halt mal die Machete -- Überleben im Ordnerdschungel ... 372

       Kopieren oder nicht kopieren, das ist hier die Frage ... 375

       Eindeutige Hash-Werte für Vergleiche ... 377

       Und nicht vergessen: Verschieben und Löschen ... 379

       Was hast du gelernt? Was haben wir gemacht? ... 380

11.  Zufallszahlen, Matrizen und Arrays -- Ein klein bisschen Mathematik, die du wirklich gebrauchen kannst ... 381

       Du, die Zufallszahlen und NumPy ... 383

       Auf dem Weg zum Millionär -- ein Lottoprogramm ... 386

       Andere Verteilungen bei den Zufallszahlen ... 388

       Ganz normalverteilte Werte ... ... 391

       Die Sache mit den Arrays ... 393

       Ein paar schnelle Berechnungen ... 395

       Bau mal ein Array ... 398

       Weniger selbst arbeiten -- Arrays mit »arange« ... 399

       Die Sache mit den mehrdimensionalen Arrays ... 400

       Bastelarbeiten mit Arrays ... 402

       Rechnen mit Arrays ... 404

       Was hast du gelernt? Was haben wir gemacht? ... 406

12.  Grafische Oberflächen -- Buttons, GUI und Layout-Manager ... 407

       Der Layout-Manager »pack« und die Sache mit den Frames ... 411

       Mit deinem Fenster auf du und du ... 414

       Ein bisschen Kosmetik mit schöneren Elementen ... 419

       Die Sache mit dem Lambda -- nicht nur für GUIs ... 421

       Button mit Parametern -- ganz einfach dank Lambda ... 423

       Rechnen mit dem Schrödinator und die Sache mit den »tkinter«-Variablen ... 427

       Ganz kurz noch schönere Schriften ... 429

       Ereignisse im objektorientieren Fenster ... 430

       Das Schrödinger-Zeichenprogramm ... 438

       Was hast du gelernt? Was haben wir gemacht? ... 440

13.  Von Daten, Datenbanken und SQL -- Das relationale Datenbankmodell ... 441

       Retter und Held gesucht: Datenbankprofi ... 443

       Daten braucht das Land! ... 451

       Keine doppelten Sachen -- die Sache mit dem Primärschlüssel ... 454

       Stopp die Viren und Trojaner! ... 456

       »fetchall«, »fetchmany«, »fetchone« -- alle, viele, einer ... 462

       Finde die richtige Abwehrstrategie! ... 465

       Die Sache mit dem WHERE ... 467

       Schönere Datenbankverbindung mit »with« ... 470

       Weiter im Programm mit der kontrollierten Eingabe ... 471

       Eine Funktion, alles zu speichern ... ... 473

       Zeit, die Viren zu stoppen -- die Auswertung der Daten ... 475

       Höchste Zeit für schnelle Auswertungen ... 479

       Finale -- Ändern mit UPDATE ... 486

       Die Sache mit den Normalformen ... 491

       Mehr Leistung mit dem Index ... 496

       Was hast du gelernt? Was haben wir gemacht? ... 498

14.  Hast du mal einen Chart für mich? -- Zahlen und Daten im Überfluss ... 499

       Drei Kurven sollt ihr sein ... 505

       Zeit für die erste Auswertung ... 507

       Nicht nur für Charts: Schlaue Listen mit List Comprehension ... 509

       Kleine, schlaue Listen selbst gemacht ... 512

       Da geht noch was -- noch ein »if« und auch ein »else« ... 518

       Sahne, Frucht und Dinkel -- was ist am beliebtesten? ... 520

       Mehr als nur ein Fenster -- die Sache mit den »subplots« ... 523

       Noch mehr Torten -- das Kuchendiagramm ... 526

       Du und deine Normalverteilung -- von ziemlich eindimensional bis schick in 3D ... 529

       Was hast du gelernt? Was haben wir gemacht? ... 532

15.  Daten, Statistik, Data Science und künstliche Intelligenz -- Wenn der eigene Kopf schon raucht ... 533

       Richtige Ergebnisse -- mal ganz ohne Formel ... 537

       Und jetzt alles mit echter KI ... 540

       (Trainings-)Daten braucht das Land ... 541

       Nicht für die Schule lernt die KI ... 541

       Zeit, das Orakel zu befragen ... 542

       Die zweite Zahlenreihe ... 543

       Zeit für noch mehr Lernen lassen ... 544

       Virenerkennung mit dem RandomForestClassifier ... 547

       Daten polieren -- mit der richtigen Strategie! ... 550

       Mittelwert und Median als Strategie ... 554

       Was hast du gelernt? Was haben wir gemacht? ... 556

16.  Datenaustausch mit CSV und JSON -- Daten schreiben -- Daten lesen ... 557

       Ein paar Einstellungen und der richtige Dialekt ... 563

       Da geht auch was mit Dictionaries ... 565

       Zeit zu lesen ... 567

       Die Sache mit JSON ... 570

       Einmal JSON und zurück ... 571

       Auch JSON will gelesen sein ... 573

       Was hast du gelernt? Was haben wir gemacht? ... 574

17.  Reguläre Ausdrücke -- Das Schweizer Messer der Textverarbeitung ... 575

       Eine Suche -- ganz klassisch ... 577

       Mit regulären Ausdrücken ist das kein Problem! ... 580

       Nur mal kurz: Ein paar Flaggen ... 585

       Eine Funktion zur passgenauen Wortsuche ... 587

       Vordefinierte Zeichenklassen, ein Punkt und viele Beispiele ... 591

       Ein Beispiel -- die Suche nach Datum und Zeit ... 594

       Besser als jedes Orakel -- das Matchobjekt auslesen ... 596

       Finde die Kennung -- probieren geht über studieren ... 597

       Selber basteln -- eigene Zeichenklassen ... 600

       Schöneres Datum dank eigener Zeichenklassen ... 603

       Quantifier -- wie oft oder vielleicht auch gar nicht? ... 606

       Mehr als ein Treffer -- »findall« und »finditer« ... 609

       Mach mal was mit Quantifiern ... 610

       Ganz kurz: Quantifier mit »?«, »*« und »+« ... 613

       Ein (fast) gültiges Kennwort ... 614

       Ein Anfang, ein Ende und ein paar Empfehlungen ... 616

       Suchgruppen -- mehr als nur ein Zeichen ... 619

       Die Sache mit »compile« ... 621

       Was hast du gelernt? Was haben wir gemacht? ... 622

Anhang.  Die verlorenen Kapitel ... 623

       A ... Installation von Python unter Windows -- Ein neues Zuhause für Python ... 625

       B ... Die Python-Shell -- Schnell mal machen, und das voll interaktiv ... 631

       C ... PEP 20 --The Zen of Python ... 639

       D ... Die All-in-one-Entwicklungsumgebung -- Wundertüte Thonny ... 643

       E ... DB Browser for SQLite -- Datenbanken leicht gemacht ... 653

  Index ... 663

Schrödinger programmiert Python

Das etwas andere Fachbuch. Durchstarten mit Python!

Buch (Taschenbuch)

44,90 € inkl. gesetzl. MwSt.

Weitere Formate

Beschreibung

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 die, die du auch gerade stellen wolltest.Zu allen Themen gibt erst Erklärungen und dann Aufgaben: Mal entsteht eine Anwendung, mal gibt es Code zu reparieren, und am Ende gibt es Übungen und Fragen, die sicherstellen, dass ihr alles verstanden habt.Fantastisch illustriert. Für Einsteiger, Umsteiger und Fans.

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

Details

Einband

Taschenbuch

Erscheinungsdatum

31.05.2021

Verlag

Rheinwerk

Seitenzahl

667

Maße (L/B/H)

23,5/20,2/4,1 cm

Beschreibung

Details

Einband

Taschenbuch

Erscheinungsdatum

31.05.2021

Verlag

Rheinwerk

Seitenzahl

667

Maße (L/B/H)

23,5/20,2/4,1 cm

Gewicht

1608 g

Auflage

1

Reihe

Rheinwerk Computing

Sprache

Deutsch

ISBN

978-3-8362-6745-8

Das meinen unsere Kund*innen

0.0

0 Bewertungen

Informationen zu Bewertungen

Zur Abgabe einer Bewertung ist eine Anmeldung im Kund*innenkonto notwendig. Die Authentizität der Bewertungen wird von uns nicht überprüft. Wir behalten uns vor, Bewertungstexte, die unseren Richtlinien widersprechen, entsprechend zu kürzen oder zu löschen.

Verfassen Sie die erste Bewertung zu diesem Artikel

Helfen Sie anderen Kund*innen durch Ihre Meinung

Erste Bewertung verfassen

Unsere Kund*innen meinen

0.0

0 Bewertungen filtern

Weitere Artikel finden Sie in

  • Schrödinger programmiert Python


  •   Schrödingers Büro ... 4

      Schrödingers Werkstatt ... 6

      Schrödingers Wohnzimmer ... 8

      Impressum ... 10

      Inhaltsverzeichnis ... 12

      Vorwort ... 22

      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

           Was hast du gelernt? Was haben wir gemacht? ... 98

      3.  Arbeitszimmer und Werkbänke -- Funktionen und Rückgabewerte ... 99

           Funktionen ... 100

           Der Name der Funktion ... 101

           Falsche oder richtige Funktionsnamen? ... 102

           Eigene Funktionen -- der erste Prototyp ... 103

           Deine Funktion im Programmablauf ... 105

           Deine erste eigene Funktion ... 106

           Dynamik dank Parameter? ... 107

           Zeit zum Ausprobieren! Einmal »lecker Funktion« mit extra Parametern! ... 109

           Mehr Freiheit dank der Standardwerte ... 110

           Standardwerte -- Probieren geht über Studieren ... 111

           Schlüssel-Wert-Paare -- alles richtig zugeordnet ... 113

           Wie könnte so eine Funktion »spam« aussehen? ... 114

           Besser als jede Doku -- Docstrings ... 116

           Weiter mit der Funktion in Kastenform ... 118

           Funktionen -- die Super-Fehlervermeider ... 120

           The return of the living values ... 124

           Der »Wertekorrigierer« -- Steuerung mit »return« ... 126

           Mehrere Werte mit »return« zurückgeben ... 127

           Du und deine Funktion -- ein paar Beispiele ... 128

           Spiel's noch mal Sam -- die Rekursion! ... 129

           Die dunkle Seite der Funktionen -- »local« und »global« ... 130

           Lokal vs. global -- was geht? ... 131

           »global« -- die dunkle Seite der Macht ... 132

           Große Aufgabe dank Funktionen ganz klein -- Kassenprogramm reloaded ... 133

           Was hast du gelernt? Was haben wir gemacht? ... 136

      4.  Listen, Tupel, Sets und Dictionaries -- ... alle Daten sind schon da! ... 137

           Du und deine Liste ... 138

           Der 1. FC Dinkel und andere Mannschaften ... 141

           Teile und herrsche -- Teile von Listen ... 143

           Der neue Star auf dem Feld -- die »for«-Schleife ... 144

           Wie für »for« gemacht -- »range« ... 145

           Das Hornberger Elfmeterschießen -- erst mit »for« und dann mit »range« ... 147

           Index und Wert ausgeben mit »enumerate« ... 149

           Wenn Besuch kommt -- eine Mannschaft mehr ... 150

           Die Sache mit den Methoden ... 151

           Eine ganze Liste anhängen mit »extend« ... 152

           Einzelne Werte einfügen mit »insert« ... 153

           Alles wieder andersrum -- mit »reverse« ... 154

           Geordnet und wohlsortiert, dank »sort« ... 154

           Sortieren nach Schrödingers Gnaden ... 156

           Ein Element aus der Liste holen und entfernen -- »pop« ... 158

           Ja, wo is' er denn -- »index« ... 159

           Einfach nur löschen -- »remove« ... 159

           Alle Werte sind schon da -- »count« und »in« ... 160

           Du, die Liste und deine Vereine ... 162

           Ziemlich einmalig -- das Set ... 165

           Tupel -- in Stein gemeißelte Listen ... 167

           Moment mal, wie war das mit »immutable«? ... 169

           Du und deine Tore -- gut gespeichert im Dictionary ... 170

           Werte auslesen mit »get« ... 171

           Zeigt her eure Werte -- alle Werte eines Dictionarys ausgeben ... 172

           Was hast du gelernt? Was haben wir gemacht? ... 174

      5.  Text, Strings und Abenteurer -- Texte verändern und bearbeiten ... 175

           Hilfreich wie eine Machete im Dschungel -- der Backslash »« ... 178

           Texte zusammenfügen ... 180

           Übung macht den Meister ... 182

           Die erste Aufgabe -- Umbenennen von Dateinamen ... 183

           Die richtige Ausrüstung für den Textdschungel -- hilfreiche Methoden ... 186

           Alle Funktionalitäten in einer Funktion ... 188

           Strings schöner ausgeben -- mehr als nur Kosmetik ... 191

           Variable im Text -- praktisch und einfach mit »{}« ... 194

           Der Vollständigkeit halber -- formatiert mit »%« ... 196

           Alle Wörter großgeschrieben -- »title« ... 197

           Wie oft ist das noch da -- »count« ... 197

           Wo ist der Schatz -- suchen mit »find« und »rfind« ... 198

           So machst du aus Listen Texte -- »join« ... 199

           Ist das eigentlich 'ne Zahl -- »isnumeric« ... 200

           Buchstaben und Zahlen -- »isalnum« ... 201

           Sind da nur Buchstaben -- »isalpha« ... 201

           Von der grauen Theorie zum praktischen Nutzen ... 202

           Method Chaining -- Methoden in Reihe ... 205

           Was hast du gelernt? Was haben wir gemacht? ... 206

      6.  Von Käfern und anderen Fehlern -- Nur kein Fehler ist ein guter Fehler ... 207

           Fehlerbehandlung mit »try« und »except« ... 210

           Bombensichere Eingaben dank »try« und »except« ... 211

           Kenne deine Gegner -- unterschiedlichen Fehlerarten ... 215

           Fehlerbehandlungen im Eigenbau ... 217

           Mit deinem Fehler auf du und du ... 218

           Schönere Fehlerbehandlung mit »else« und »finally« ... 222

           Fehler geschüttelt, nicht gerührt ... 223

           Zu guter Letzt -- »finally« ... 225

           Debuggen (nicht nur) mit Thonny ... 226

           Du, der Debugger und die Breakpoints ... 228

           Gezielte Fehlerjagd mit Breakpoints ... 232

           Was hast du gelernt? Was haben wir gemacht? ... 234

      7.  Die Module spielen verrückt -- Die Standardbibliothek und noch viel mehr ... 235

           Schnelle Infos dank Docstring und »help« ... 239

           Ein Modul namens »dateiname« ... 241

           Modul und trotzdem Programm ... 243

           Das doppelt gemoppelte Modul für den direkten Test ... 246

           Mächtig vielseitig -- globale Variablen (nicht nur) in Modulen ... 247

           Die Methode »dateiname« -- nur noch flexibler ... 250

           Schrecklich lange Modulnamen -- »as« ... 252

           Das Modul einer Variablen zuweisen ... 253

           Module wie du und ich -- Python Standard Library ... 256

           Was für ein Zufall -- »random« ... 258

           Wo liegt der Unterschied? ... 259

           Import mit »from«, »import« und »as« -- gezielt und direkt ... 260

           Wie viel Zufall steckt in Zufallszahlen? ... 262

           Mehr als nur ein Import -- zwei Importe ... 263

           Was hast du gelernt? Was haben wir gemacht? ... 264

      8.  Von Klassen, Objekten und alten Griechen -- Objektorientierte Programmierung ... 265

           Die gute, alte Softwarekrise ... 266

           Retter gesucht? Retter gefunden: OOP! ... 266

           Ganz konkret -- die Sache mit Klassen und Objekten ... 269

           Von der ersten Klasse zum ersten Objekt ... 270

           Alles auf Anfang -- die Methode »__init__« ... 271

           Dein erstes Attribut ... 272

           Es gibt auch ganz schnöde Variablen ... 274

           Mehr Infos dank Docstring ... 275

           Das Orakel von Delphi ... 277

           Die erste Klasse am Stück -- gleich mal etwas reloaded ... 280

           Das erste eigene Objekt ... 281

           Orakel reloaded -- das Attribut ändern ... 285

           Vorsicht beim Zugriff auf Attribute! ... 286

           Die Sache mit den Parametern ... 288

           Vertrauen ist gut, Kontrolle besser ... 289

           Übergebene Werte sind gefährlich! ... 290

           Das ist die Stunde der Methode »property«! ... 291

           Besser als nur Setter und Getter ... 293

           »property« und Orakel -- das passt! ... 297

           ... der durchaus seltsame klingende, aber ziemlich coole »@property«-Dekorator ... 300

           »private« und »protected« -- aber gar nicht so ganz ... 302

           Wiederverwendbarkeit und Vererbung ... 306

           Besser als recyceln -- neue Klasse aus alter Klasse ... 308

           Super Sache dieses »super« ... 311

           Statische Attribute und Methoden ... 313

           Was hast du gelernt? Was haben wir gemacht? ... 317

      9.  Höchste Zeit für Datum, Zeit und Zeitangaben -- Schrödingers Zeitmaschine ... 319

           Du und deine Zeitmaschine ... 320

           Welcher Tag ist heute? Welches Jahr!? -- »date« ... 320

           Bastel mal ein schickes Datum ... 322

           Tag, Monat, Jahr mit Platzhaltern in Form bringen ... 323

           Einmal Datum, geschüttelt -- nicht gerührt ... 325

           Es wird Zeit, die Zeit zu ändern ... ... 327

           Was von der ganzen Zeit noch übrig bleibt ... 329

           Stunden, Minuten und Sekunden mit »time« ... 331

           Ist noch Zeit für einen Dinkelkaffee? ... 333

           Es ist an der Zeit, die Zeit zu formatieren! ... 335

           Gestatten, »datetime«, aus dem Hause »datetime« ... 338

           Besser als jedes Orakel -- Zeit lesen mit »strptime« ... 339

           Datum und Zeit finden -- so ganz in der Praxis ... 341

           Ganz großes Kino -- Unixtime und The Epoch ... 343

           Wann war die letzte Änderung? ... 345

           Noch ein Wort zu »timedelta« -- rechne mit der Zeit ... 347

           ... rette Weihnachten mit »timedelta« ... 348

           Was hast du gelernt? Was haben wir gemacht? ... 350

    10.  Vom wichtigen Umgang mit Daten, Dateien und Ordnern -- Endlich in Stein gemeißelt ... 351

           Wohin mit all den Daten? ... 352

           Das Regal auf der Gurke ... 353

           Zeit zum Lesen ... 355

           Zeit für ein bisschen Serialisierung ... 356

           Du und dein Regal -- ein paar hilfreiche Informationen ... 357

           Mit Netz und doppeltem Boden ... 358

           Du und deine Textdatei -- schreiben und lesen ... 360

           Und es geht noch kürzer -- mit »with«! ... 362

           Du und deine Textdatei ... 363

           Listen und Zeilenumbrüche schreiben ... 365

           Zeilenweises Lesen ... 367

           Im Dschungel der Ordner und Dateien ... 368

           Halt mal die Machete -- Überleben im Ordnerdschungel ... 372

           Kopieren oder nicht kopieren, das ist hier die Frage ... 375

           Eindeutige Hash-Werte für Vergleiche ... 377

           Und nicht vergessen: Verschieben und Löschen ... 379

           Was hast du gelernt? Was haben wir gemacht? ... 380

    11.  Zufallszahlen, Matrizen und Arrays -- Ein klein bisschen Mathematik, die du wirklich gebrauchen kannst ... 381

           Du, die Zufallszahlen und NumPy ... 383

           Auf dem Weg zum Millionär -- ein Lottoprogramm ... 386

           Andere Verteilungen bei den Zufallszahlen ... 388

           Ganz normalverteilte Werte ... ... 391

           Die Sache mit den Arrays ... 393

           Ein paar schnelle Berechnungen ... 395

           Bau mal ein Array ... 398

           Weniger selbst arbeiten -- Arrays mit »arange« ... 399

           Die Sache mit den mehrdimensionalen Arrays ... 400

           Bastelarbeiten mit Arrays ... 402

           Rechnen mit Arrays ... 404

           Was hast du gelernt? Was haben wir gemacht? ... 406

    12.  Grafische Oberflächen -- Buttons, GUI und Layout-Manager ... 407

           Der Layout-Manager »pack« und die Sache mit den Frames ... 411

           Mit deinem Fenster auf du und du ... 414

           Ein bisschen Kosmetik mit schöneren Elementen ... 419

           Die Sache mit dem Lambda -- nicht nur für GUIs ... 421

           Button mit Parametern -- ganz einfach dank Lambda ... 423

           Rechnen mit dem Schrödinator und die Sache mit den »tkinter«-Variablen ... 427

           Ganz kurz noch schönere Schriften ... 429

           Ereignisse im objektorientieren Fenster ... 430

           Das Schrödinger-Zeichenprogramm ... 438

           Was hast du gelernt? Was haben wir gemacht? ... 440

    13.  Von Daten, Datenbanken und SQL -- Das relationale Datenbankmodell ... 441

           Retter und Held gesucht: Datenbankprofi ... 443

           Daten braucht das Land! ... 451

           Keine doppelten Sachen -- die Sache mit dem Primärschlüssel ... 454

           Stopp die Viren und Trojaner! ... 456

           »fetchall«, »fetchmany«, »fetchone« -- alle, viele, einer ... 462

           Finde die richtige Abwehrstrategie! ... 465

           Die Sache mit dem WHERE ... 467

           Schönere Datenbankverbindung mit »with« ... 470

           Weiter im Programm mit der kontrollierten Eingabe ... 471

           Eine Funktion, alles zu speichern ... ... 473

           Zeit, die Viren zu stoppen -- die Auswertung der Daten ... 475

           Höchste Zeit für schnelle Auswertungen ... 479

           Finale -- Ändern mit UPDATE ... 486

           Die Sache mit den Normalformen ... 491

           Mehr Leistung mit dem Index ... 496

           Was hast du gelernt? Was haben wir gemacht? ... 498

    14.  Hast du mal einen Chart für mich? -- Zahlen und Daten im Überfluss ... 499

           Drei Kurven sollt ihr sein ... 505

           Zeit für die erste Auswertung ... 507

           Nicht nur für Charts: Schlaue Listen mit List Comprehension ... 509

           Kleine, schlaue Listen selbst gemacht ... 512

           Da geht noch was -- noch ein »if« und auch ein »else« ... 518

           Sahne, Frucht und Dinkel -- was ist am beliebtesten? ... 520

           Mehr als nur ein Fenster -- die Sache mit den »subplots« ... 523

           Noch mehr Torten -- das Kuchendiagramm ... 526

           Du und deine Normalverteilung -- von ziemlich eindimensional bis schick in 3D ... 529

           Was hast du gelernt? Was haben wir gemacht? ... 532

    15.  Daten, Statistik, Data Science und künstliche Intelligenz -- Wenn der eigene Kopf schon raucht ... 533

           Richtige Ergebnisse -- mal ganz ohne Formel ... 537

           Und jetzt alles mit echter KI ... 540

           (Trainings-)Daten braucht das Land ... 541

           Nicht für die Schule lernt die KI ... 541

           Zeit, das Orakel zu befragen ... 542

           Die zweite Zahlenreihe ... 543

           Zeit für noch mehr Lernen lassen ... 544

           Virenerkennung mit dem RandomForestClassifier ... 547

           Daten polieren -- mit der richtigen Strategie! ... 550

           Mittelwert und Median als Strategie ... 554

           Was hast du gelernt? Was haben wir gemacht? ... 556

    16.  Datenaustausch mit CSV und JSON -- Daten schreiben -- Daten lesen ... 557

           Ein paar Einstellungen und der richtige Dialekt ... 563

           Da geht auch was mit Dictionaries ... 565

           Zeit zu lesen ... 567

           Die Sache mit JSON ... 570

           Einmal JSON und zurück ... 571

           Auch JSON will gelesen sein ... 573

           Was hast du gelernt? Was haben wir gemacht? ... 574

    17.  Reguläre Ausdrücke -- Das Schweizer Messer der Textverarbeitung ... 575

           Eine Suche -- ganz klassisch ... 577

           Mit regulären Ausdrücken ist das kein Problem! ... 580

           Nur mal kurz: Ein paar Flaggen ... 585

           Eine Funktion zur passgenauen Wortsuche ... 587

           Vordefinierte Zeichenklassen, ein Punkt und viele Beispiele ... 591

           Ein Beispiel -- die Suche nach Datum und Zeit ... 594

           Besser als jedes Orakel -- das Matchobjekt auslesen ... 596

           Finde die Kennung -- probieren geht über studieren ... 597

           Selber basteln -- eigene Zeichenklassen ... 600

           Schöneres Datum dank eigener Zeichenklassen ... 603

           Quantifier -- wie oft oder vielleicht auch gar nicht? ... 606

           Mehr als ein Treffer -- »findall« und »finditer« ... 609

           Mach mal was mit Quantifiern ... 610

           Ganz kurz: Quantifier mit »?«, »*« und »+« ... 613

           Ein (fast) gültiges Kennwort ... 614

           Ein Anfang, ein Ende und ein paar Empfehlungen ... 616

           Suchgruppen -- mehr als nur ein Zeichen ... 619

           Die Sache mit »compile« ... 621

           Was hast du gelernt? Was haben wir gemacht? ... 622

    Anhang.  Die verlorenen Kapitel ... 623

           A ... Installation von Python unter Windows -- Ein neues Zuhause für Python ... 625

           B ... Die Python-Shell -- Schnell mal machen, und das voll interaktiv ... 631

           C ... PEP 20 --The Zen of Python ... 639

           D ... Die All-in-one-Entwicklungsumgebung -- Wundertüte Thonny ... 643

           E ... DB Browser for SQLite -- Datenbanken leicht gemacht ... 653

      Index ... 663