Schrödinger programmiert Python

Das etwas andere Fachbuch. Durchstarten mit Python!

(Autor)

Buch | Softcover
667 Seiten
2021 | 1. Auflage
Rheinwerk (Verlag)
978-3-8362-6745-8 (ISBN)

Lese- und Medienproben

Schrödinger programmiert Python - Stephan Elter
44,90 inkl. MwSt
  • Von den Sprachgrundlagen über Datenbank-Anwendungen bis zum KI-Schnupperkurs
  • Lernen mit Spaß und Erfolg: Lesen – Mitmachen – Üben
  • Umwerfende Codebeispiele. Fantastisch illustriert.

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.

Schrödinger garantiert

Gründlicher Einstieg
Schrödinger ist zwar ein etwas ungeduldiger Typ, aber Profi Stephan bringt Ruhe und System in die Sache: Erst einmal alles installieren und lernen, wie man Dateien abspeichert, wie die Syntax aussieht und was es mit dem "Zen of Python" auf sich hat.

Lesen – Mitmachen – Üben
Zu jedem Thema gibt es nach einer Einführung etwas für euch zu tun. Mal entsteht eine Anwendung, mal repariert oder verbessert ihr Code. Und um sicher zu gehen, dass ihr alles verstanden habt, gibt es außerdem Übungsaufgaben mit Lösungen.

Gute Fragen, gute Antworten
Schrödinger ist schlau, neugierig und immer gern an der Tastatur. Und er stellt die richtigen Fragen. Zum Glück hat Stephan auf jede Frage eine Antwort parat und bringt Beispiele, die du nicht wieder vergisst.

Eine tolle Programmiersprache!
Python ist unvorstellbar vielseitig. Ideal für den Einstieg wie für die Wissenschaft, objektorientiert und funktional, für kleine Skripte, komplexe Software oder neuronale Netze. Der Sprachkern ist dabei immer der gleiche, so dass ihr für alles gut gerüstet seid.

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

Stephan Elter würde nie ein trockenes Fachbuch schreiben. Er schreibt Software in Python, Java, JavaScript, PHP und anderen Sprachen. Fast noch lieber als zu programmieren überlegt er sich Aufgaben und Beispiele, mit denen das Programmierenlernen Spaß macht. Da hat Schrödinger genau den Richtigen getroffen! Am besten, ihr gesellt euch dazu und probiert die Sachen selbst einmal aus.



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

»Das Buch von Stephan Elter bietet eine vergnügliche Einführung in die Programmiersprache Python.« LINUX MAGAZIN 202201

»Das Buch von Stephan Elter bietet eine vergnügliche Einführung in die Programmiersprache Python.«

»Originell, leicht verständlich, für Einsteiger:innen wie auch Profis der Materie geeignet.«

»„Schrödinger programmiert Python“ fällt durch ein „anderes“ Lernsystem auf. Es ist erfrischender, weil es sich vom „Rest der Bücherwelt“ abhebt.«

»Damit werden die Leser*innen zu absolut unschlagbaren Python-Expert*innen!«

Erscheinungsdatum
Reihe/Serie Rheinwerk Computing
Verlagsort Bonn
Sprache deutsch
Maße 200 x 235 mm
Einbandart kartoniert
Themenwelt Kinder- / Jugendbuch Sachbücher Naturwissenschaft / Technik
Informatik Programmiersprachen / -werkzeuge Python
Schlagworte Code schreiben • Hand-Buch Bücher Lernen Wissen Kurse Tutorials Seminare Workshops • KI Künstliche Intelligenz • machine learning • Maker Technik Mikrocontroller • Neuronale Netze mit Python • Programmieren lernen • Programmierung • Python • Raspberry Pi • Software entwickeln
ISBN-10 3-8362-6745-4 / 3836267454
ISBN-13 978-3-8362-6745-8 / 9783836267458
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Wie bewerten Sie den Artikel?
Bitte geben Sie Ihre Bewertung ein:
Bitte geben Sie Daten ein:
Mehr entdecken
aus dem Bereich