Lernen, wie ein Informatiker zu denken – der abwechslungsreiche Praxiskurs für Python Allen Downey vermittelt Programmiergrundlagen gekonnt mit ausgefeilter und praxiserprobter Didaktik Für Programmiereinsteiger:innen in Studium und Beruf Fundierte Einführung nicht nur in Python, sondern auch in die Welt der Programmierung Wenn Sie programmieren lernen wollen, eignet sich Python hervorragend als Einstieg. Dieses Praxisbuch führt Sie Schritt für Schritt durch die Sprache, beginnend mit grundlegenden Programmierkonzepten, über Funktionen, Syntax und Semantik, Rekursion und Datenstrukturen bis hin zum objektorientierten Design. Lernen Sie, wie ein Programmierprofi zu denken! Allen Downey führt Sie nicht nur fundiert in Python ein, sondern leitet Sie auch an, über die Sprachkonstrukte nachzudenken, und vermittelt Ihnen so grundlegende Problemlösungsstrategien der Informatik. Die Kapitel enthalten jeweils ein Glossar der Fachbegriffe sowie Übungen und Fallstudien, kurze Verständnistests und kleinere Projekte, an denen Sie die neu erlernten Programmierkonzepte gleich ausprobieren können. Auf diese Weise wenden Sie das Gelernte direkt an und festigen Ihr Verständnis für die konkrete Programmierpraxis. Starten Sie mit den Grundlagen, einschließlich Sprachsyntax und Semantik Entwickeln Sie eine klare Vorstellung von den jeweiligen Programmierkonzepten Lernen Sie Werte, Variablen, Anweisungen, Funktionen und Datenstrukturen in einer logischen Abfolge kennen Entdecken Sie, wie Sie mit Dateien und Datenbanken arbeiten können Verstehen Sie Objekte, Methoden und objektorientierte Programmierung Wenden Sie Debugging-Techniken an, um Syntax-, Laufzeit- und Semantikfehler zu beheben Erforschen Sie Funktionen, Datenstrukturen und Algorithmen anhand aussagekräftiger Beispiele »Allen Downeys Erklärungen sind kristallklar, seine inspirierten Übungen werden Lernende mit unterschiedlichstem Background begeistern.« – Luciano Ramalho, Thoughtworks Systematisch programmieren lernen mit Python Inhalt 5 Vorwort 13 Programme entwickeln 17 Was ist ein Programm? 17 Python ausführen 18 Das erste Programm 19 Arithmetische Operatoren 20 Werte und Typen 20 Formale und natürliche Sprachen 21 Debugging 23 Glossar 24 Übungen 25 Variablen, Ausdrücke und Anweisungen 27 Zuweisungen 27 Variablennamen 28 Ausdrücke und Anweisungen 28 Skriptmodus 29 Rangfolge von Operatoren 30 String-Operationen 31 Kommentare 31 Debugging 32 Glossar 33 Übungen 34 Funktionen 37 Funktionsaufrufe 37 Mathematische Funktionen 38 Komposition 39 Neue Funktionen erstellen 39 Definition und Verwendung 41 Programmablauf 41 Parameter und Argumente 42 Variablen und Parameter sind lokal 43 Stapeldiagramme 44 Funktionen mit und ohne Rückgabewert 45 Warum Funktionen? 46 Debugging 46 Glossar 47 Übungen 49 Fallstudie: Gestaltung von Schnittstellen 51 Das turtle-Modul 51 Einfache Wiederholung 52 Übungen 53 Datenkapselung 54 Generalisierung 55 Gestaltung von Schnittstellen 56 Refactoring 57 Entwicklungsplan 58 Docstring 59 Debugging 59 Glossar 60 Übungen 61 Bedingungen und Rekursion 63 Floor-Division und Modulo 63 Boolesche Ausdrücke 64 Logische Operatoren 64 Bedingte Ausführung 65 Alternativer Programmablauf 65 Verkettete Bedingungen 66 Verschachtelte Bedingungen 66 Rekursion 67 Stapeldiagramme für rekursive Funktionen 68 Endlos-Rekursion 69 Tastatureingaben 70 Debugging 71 Glossar 72 Übungen 73 Funktionen mit Rückgabewert 77 Rückgabewerte 77 Inkrementelle Entwicklung 78 Funktionskomposition 81 Boolesche Funktionen 81 Mehr Rekursion 82 Vertrauensvorschuss 84 Noch ein Beispiel 85 Typprüfung 85 Debugging 86 Glossar 88 Übungen 88 Iteration 91 Mehrfache Zuweisungen 91 Variablen aktualisieren 92 Die while-Anweisung 93 break 94 Quadratwurzeln 95 Algorithmen 96 Debugging 97 Glossar 98 Übungen 98 Strings 101 Ein String ist eine Folge 101 len 102 Traversierung mit einer Schleife 102 String-Teile 103 Strings sind unveränderbar 104 Suchen 105 Schleifen und Zähler 105 String-Methoden 106 Der in-Operator 107 String-Vergleich 107 Debugging 108 Glossar 110 Übungen 111 Fallstudie: Wortspiele 115 Wortlisten einlesen 115 Übungen 116 Suchen 117 Schleifen mit Indizes 119 Debugging 120 Glossar 121 Übungen 121 Listen 123 Eine Liste ist eine Sequenz 123 Listen können geändert werden 124 Listen durchlaufen 125 Operationen mit Listen 126 Listen-Slices 126 Methoden für Listen 127 Map, Filter und Reduktion 127 Elemente löschen 129 Listen und Strings 129 Objekte und Werte 130 Aliasing 131 Listen als Argument 132 Debugging 134 Glossar 135 Übungen 136 Dictionaries 141 Ein Dictionary ist ein Mapping 141 Dictionary als Menge von Zählern 143 Schleifen und Dictionaries 144 Inverse Suche 145 Dictionaries und Listen 146 Memos 148 Globale Variablen 149 Debugging 150 Glossar 151 Übungen 153 Tupel 155 Tupel sind unveränderbar 155 Tupel-Zuweisung 157 Tupel als Rückgabewerte 157 Argument-Tupel mit variabler Länge 158 Listen und Tupel 159 Dictionaries und Tupel 160 Sequenzen mit Sequenzen 162 Debugging 163 Glossar 164 Übungen 165 Fallstudie: Die Wahl der richtigen Datenstruktur 167 Häufigkeitsanalyse für Wörter 167 Zufallszahlen 168 Worthistogramm 169 Die häufigsten Wörter 171 Optionale Parameter 172 Dictionary-Subtraktion 172 Zufallswörter 173 Markov-Analyse 174 Datenstrukturen 176 Debugging 178 Glossar 179 Übungen 180 Dateien 181 Persistenz 181 Lesen und schreiben 182 Formatoperator 182 Dateinamen und Pfade 183 Ausnahmen abfangen 185 Datenbanken 186 Pickling 187 Pipes 188 Module schreiben 189 Debugging 190 Glossar 191 Übungen 192 Klassen und Objekte 193 Benutzerdefinierte Typen 193 Attribute 194 Rechtecke 196 Instanzen als Rückgabewerte 197 Objekte sind veränderbar 197 Kopieren 198 Debugging 199 Glossar 200 Übungen 201 Klassen und Funktionen 203 Zeit 203 Reine Funktionen 204 Modifizierende Funktionen 205 Prototyping kontra Planung 206 Debugging 208 Glossar 208 Übungen 209 Klassen und Methoden 211 Objektorientierte Programmierung 211 Objekte ausgeben 212 Noch ein Beispiel 214 Ein komplizierteres Beispiel 214 init-Methode 215 str-Methode 216 Operator-Überladung 216 Dynamische Bindung 217 Polymorphismus 218 Schnittstelle und Implementierung 219 Debugging 220 Glossar 221 Übungen 221 Vererbung 223 Karten-Objekte 223 Klassenattribute 224 Karten vergleichen 226 Stapel 227 Kartenstapel ausgeben 227 Hinzufügen, entfernen, mischen und sortieren 228 Vererbung 228 Klassendiagramme 230 Datenkapselung 231 Debugging 233 Glossar 234 Übungen 235 Weitere nützliche Python-Features 239 Bedingte Ausdrücke 239 List Comprehensions 240 Generator-Ausdrücke 241 any und all 242 Sets 243 Counter 244 defaultdict 245 Benannte Tupel 246 Schlüsselwort-Argumente einsammeln 248 Glossar 249 Übungen 249 Debugging 251 Syntaxfehler 251 Laufzeitfehler 253 Semantische Fehler 257 Algorithmenanalyse 261 Wachstumsordnung 262 Analyse grundlegender Python-Operationen 265 Analyse von Suchalgorithmen 266 Hashtabellen 267 Glossar 272 Index 273 ## Lernen, wie ein Informatiker zu denken – der abwechslungsreiche Praxiskurs für Python * Allen Downey vermittelt Programmiergrundlagen gekonnt mit ausgefeilter und praxiserprobter Didaktik * Für Programmiereinsteiger:innen in Studium und Beruf * Fundierte Einführung nicht nur in Python, sondern auch in die Welt der Programmierung Lernen Sie, wie ein Programmierprofi zu denken! Allen Downey führt Sie nicht nur fundiert in Python ein, sondern leitet Sie auch an, über die Sprachkonstrukte nachzudenken, und vermittelt Ihnen so grundlegende Problemlösungsstrategien der Informatik. Die Kapitel enthalten jeweils ein Glossar der Fachbegriffe sowie Übungen und Fallstudien, kurze Verständnistests und kleinere Projekte, an denen Sie die neu erlernten Programmierkonzepte gleich ausprobieren können. Auf diese Weise wenden Sie das Gelernte direkt an und festigen Ihr Verständnis für die konkrete Programmierpraxis. * Starten Sie mit den Grundlagen, einschließlich Sprachsyntax und Semantik * Entwickeln Sie eine klare Vorstellung von den jeweiligen Programmierkonzepten * Lernen Sie Werte, Variablen, Anweisungen, Funktionen und Datenstrukturen in einer logischen Abfolge kennen * Entdecken Sie, wie Sie mit Dateien und Datenbanken arbeiten können * Verstehen Sie Objekte, Methoden und objektorientierte Programmierung * Wenden Sie Debugging-Techniken an, um Syntax-, Laufzeit- und Semantikfehler zu beheben * Erforschen Sie Funktionen, Datenstrukturen und Algorithmen anhand aussagekräftiger Beispiele
Lernen, wie ein Informatiker zu denken - der abwechslungsreiche Praxiskurs für Python
- Allen Downey vermittelt Programmiergrundlagen gekonnt mit ausgefeilter und praxiserprobter Didaktik
- Für Programmiereinsteiger: innen in Studium und Beruf
- Fundierte Einführung nicht nur in Python, sondern auch in die Welt der Programmierung
Wenn Sie programmieren lernen wollen, eignet sich Python hervorragend als Einstieg. Dieses Praxisbuch führt Sie Schritt für Schritt durch die Sprache, beginnend mit grundlegenden Programmierkonzepten, über Funktionen, Syntax und Semantik, Rekursion und Datenstrukturen bis hin zum objektorientierten Design.
Jedes Kapitel enthält ein Glossar der Fachbegriffe sowie passende Übungen und Fallstudien, kurze Verständnistests und kleinere Projekte, an denen Sie die neu erlernten Programmierkonzepte gleich ausprobieren können. Auf diese Weise wenden Sie das Gelernte direkt an und festigen Ihr Verständnis für die konkrete Programmierpraxis.
"Allen Downeys Erklärungen sind kristallklar, seine inspirierten Übungen werden Lernende mit unterschiedlichstem Background begeistern."
- Luciano Ramalho, Thoughtworks