Elter | Schrödinger programmiert Python | E-Book | 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



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


Die Fachpresse zur Vorauflage:
LINUX MAGAZIN: »Eine vergnügliche Einführung in die Programmiersprache Python.«



Stephan Elter ist Softwareentwickler und verwendet JavaScript seit vielen Jahren - neben 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.
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 JavaScript seit vielen Jahren – neben 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.