Elter | Schrödinger programmiert Python | E-Book | www.sack.de
E-Book

E-Book, Deutsch, 675 Seiten

Reihe: Rheinwerk Computing

Elter Schrödinger programmiert Python

Das etwas andere Fachbuch
2. Auflage 2025
ISBN: 978-3-367-10521-2
Verlag: Rheinwerk
Format: PDF
Kopierschutz: 0 - No protection

Das etwas andere Fachbuch

E-Book, Deutsch, 675 Seiten

Reihe: Rheinwerk Computing

ISBN: 978-3-367-10521-2
Verlag: Rheinwerk
Format: PDF
Kopierschutz: 0 - No protection



Kultbuch trifft Kult-Sprache: Python lernen mit Spaß und Erfolg.

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, hochwertige Fadenheftung, stabiles Handbuchformat. Für Einsteiger, Umsteiger und Fans.

  • Von den Sprachgrundlagen über Datenbank-Anwendungen bis zum KI-Schnupperkurs
  • Umwerfende Code-Beispiele, fantastisch illustriert
  • Spaß und Erfolg: Lesen - Mitmachen - Üben

„Ein neuer Weg bei der Vermittlung von Entwickler-Fachwissen!“ — c’t zur Schrödinger-Reihe

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
Elter Schrödinger programmiert Python jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


  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

       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


Elter, Stephan
Stephan Elter ist Softwareentwickler und verwendet Python schon seit vielen Jahren – neben JavaScript, PHP, Java und einer Menge anderer Sprachen. Programmieren macht ihm Spaß, er liebt witzige Beispiele und würde niemals ein Buch schreiben, in dem jeder Satz hundertprozentig ernst gemeint ist.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.