0

Python für Dummies

eBook - Für Dummies

Erschienen am 15.07.2020, 1. Auflage 2020
17,99 €
(inkl. MwSt.)

Download

E-Book Download
Bibliografische Daten
ISBN/EAN: 9783527811168
Sprache: Deutsch
Umfang: 400 S., 19.26 MB
E-Book
Format: EPUB
DRM: Adobe DRM

Beschreibung

Python ist eine der beliebtesten und vielseitigsten Programmiersprachen überhaupt. Für viele Entwickler führt deshalb kein Weg an Python vorbei. Schöpfen Sie mit diesem Buch aus dem reichen Erfahrungsschatz zweier langjähriger Softwareentwickler. Sie lernen zunächst die Syntax der Sprache und vertiefen dann das Erlernte anhand von konkreten Aufgabenstellungen. Für den Blick über den Tellerrand sorgen Kapitel zu Programmierparadigmen, Code-Qualität, Test-Ansätzen und Dokumentation. Jede Menge Tipps und Tricks und ein breites Spektrum an Beispielen lassen Sie zu einem wahren Python-Profi werden.

Autorenportrait

Johannes Hofmeister lebt in Heidelberg. Am Psychologischen Institut der Universität Heidelberg erforscht er zur Zeit, was Code verständlich macht. Als Softwareentwickler und Berater hat er in großen und kleinen Unternehmen C#, Java und JavaScript eingesetzt, aber am liebsten liest und schreibt er Python-Code.
Horst Schneider lebt in Mannheim und arbeitet seit mehr als zehn Jahren als Softwareentwickler. Sein Schwerpunkt ist die Anwendungsentwicklung in verschiedenen Sprachen, von Java über C# bis zu JavaScript und Python. Aktuell arbeitet er als Coach und Berater im Raum Heidelberg und löst vielfältige Probleme - vorzugsweise mit Python.

Inhalt

Über die Autoren 11

Einleitung 23

Törichte Annahmen über den Leser 23

Wie Sie dieses Buch nutzen können 23

Was Sie nicht lesen müssen 24

Wie dieses Buch aufgebaut ist 24

Symbole, die in diesem Buch verwendet werden 25

Konventionen in diesem Buch 26

Teil I: Langweilige Einmallektüre 27

Kapitel 1 Orientierung29

Motivation 29

Was ist Python? 29

Warum sollte ich Python lernen? 29

Was ist an Python so besonders? 30

Seit wann gibt es Python? 30

Warum ist Python weniger verbreitet als andere Sprachen? 31

Welche Sprachfeatures bringt Python mit? 31

Ist Python eine Skript- oder eine Programmiersprache? 32

Ich habe gehört, dass Python langsam ist Stimmt das? 32

Anwendungsgebiete 33

Wer verwendet Python? 33

Kann man mit Python Geld verdienen? 33

Was kann ich mit Python machen? 33

Sollte ich nicht doch lieber eine andere Sprache lernen? 34

Kapitel 2 Im Kriechgang die Installation35

Windows 35

Schritt 1 Herunterladen 36

Schritt 2 Installieren 37

Schritt 3 Läufts? 39

macOS 40

Schritt 1 Herunterladen 40

Schritt 2 Installieren 41

Schritt 3 Läufts? 44

Alternative: Homebrew 44

Linux 45

Einer für alle 46

Kapitel 3 Der Schlange Beine machen Python ausführen49

Der REPL 49

Editor oder IDE? 50

Teil II: Python sprechen lernen 53

Kapitel 4 Hic forum est Schnellkurs55

Vogelperspektive 56

Das kleinste Python-Programm der Welt 59

Zeichenketten und Bildschirmausgabe 60

Rechnen mit Python 63

Variablen 66

Wahrheitswerte und bedingte Ausführung 69

Boolesche Logik in Python 69

Truthy und Falsy 71

Wenn Dann Sonst 72

Listen und Schleifen 74

Funktionen und Module 77

Funktionen definieren und aufrufen 78

Module nutzen 79

Fehlerbehandlung 80

Kapitel 5 Daten strukturieren85

Listen 86

Listen anlegen 86

Was steckt drin? 86

Listen verändern 88

Listen sortieren 89

Absteigend oder aufsteigend sortieren? 90

Tupel 91

Einpacken 91

Entpacken 92

Tupel verändern 94

Tupel sortieren 95

Wann Sie Listen und wann Tupel verwenden sollten 95

Dictionarys 96

Dictionarys anlegen 97

Was steckt drin? 98

Dictionarys verändern 99

Sets 100

Sets anlegen 101

Was steckt drin? 101

Sets verändern 102

Mengenlehre 104

Kapitel 6 Daten transformieren109

Iteration 109

Comprehensions 112

Syntax 112

List Comprehensions 114

Dictionary Comprehensions 115

Set Comprehensions 116

Generator Expressions 117

Slicing 120

Ein einziges Element 121

Mehrere Elemente 122

Schrittweise Auswahl 122

Beispiel: IBAN validieren 123

Iteration ohne Index 125

FAQ Leben ohne Index 127

Nur ein Element 128

Nummerierung 128

Listen zusammenführen 129

Listen zerteilen 129

Dictionarys erzeugen 130

Dictionarys iterieren 131

Verschachtelte Iteration 131

Kapitel 7 Mit der Außenwelt kommunizieren133

Selbstgespräche führen 134

Text ausgeben 134

Text einlesen 135

Textausgabe steuern 136

Längere Texte zusammenbasteln 137

Texte formatieren 137

Textkodierung 140

Kommandozeilenparameter 140

Textdateien einlesen 142

Im Ganzen lesen 142

Zeilenweise lesen 143

Textdateien schreiben 146

Dateimodi: Behalten oder neu machen? 146

Im Ganzen schreiben 147

Zeilenweise schreiben 148

Vollständiges Beispiel 149

Alles fließt 150

Binxc3xa4rdaten lesen 152

Im Ganzen lesen 153

Häppchenweise lesen 154

Binärdaten schreiben 158

Teil III: Mit Python Probleme lösen 161

Kapitel 8 Was Python schon kann163

Built-ins 163

Built-ins für den REPL 165

Umwandlungsfunktionen 166

Mathematische Funktionen 171

Mengen aggregieren 172

Daten transformieren 173

Module und Pakete 175

Module importieren 176

Direktimporte 176

Aus Paketen importieren 177

Namenskonflikte verhindern 177

Import mit Wildcard Alle für einen 178

Die Standardbibliothek 179

Im Lieferumfang enthalten sind 180

os Welches Betriebssystem läuft? 180

random und secrets Zufall 183

imaplib E-Mails versenden 184

urllib und json Web 186

Minisprachen 187

Datum- und Zeitangaben 187

Strings formatieren 192

Kapitel 9 Was Python (noch) nicht kann197

Pip installieren 197

Pakete installieren 198

Installierte Pakete ansehen 199

Spezifische Versionen installieren 199

Pakete entfernen 200

Kapitel 10 Was Sie Python beibringen können201

Eigene Module 201

Eigene Module anlegen 202

Eigene Pakete 202

Eigene Skripte 204

Hintergrund: Wie Module geladen werden 206

Wo sucht Python Module? 206

Module Laden 207

Teil IV: Python als Handwerk 209

Kapitel 11 Funktionale Programmierung211

Anatomie einer Funktion 212

Definition 212

Aufruf 212

Namen und Konzepte 213

Effekte und Nebeneffekte 213

Positionale Argumente 214

Benannte Argumente 215

Regeln für Funktionsaufrufe aufstellen 216

Optionale Argumente 219

Variable Argumente mit *args und **kwargs 222

Argumente entpacken 225

Funktionen haben »Bürgerrechte« 226

Funktionen zusammenstecken 227

Arbeitsteilung 229

Funktionen, die Funktionen erzeugen 232

Dekoratoren 233

Generatoren 235

Kapitel 12 Objektorientierte Programmierung239

Anatomie eines Objekts 240

Objekte 241

Klassen und Konstruktoren 241

Attribute und Methoden 242

Instanzen 246

Operatoren 248

Beziehungen 252

Vererbung Objekte als Familie 253

Komposition Objekte im Team 263

In Objekten denken 270

Was ist eigentlich objektorientierte Programmierung? 271

Wie man gute Objekte designt 273

Kapitel 13 Ausnahmen279

Ausnahmen behandeln 281

Eigene Ausnahmen auslösen 282

Ausnahmen als Signale nutzen 283

Beispiel: Hotels buchen 285

Kapitel 14 Testen 295

Wenn Ihr Programm nicht tut, was es soll 296

Eigenschaften von Python 296

Fehlerklassen (oder: Was alles schief gehen kann) 298

Wo und wie Tests helfen können 300

Python bei der Arbeit zuschauen 301

Debuggen mit print 301

Bedingungen prüfen mit assert 302

Den Programmfluss kontrollierbar machen 303

Unit-Tests schreiben mit dem unittest-Modul 305

Unit-Tests erstellen und ausführen 306

Bestehende Komponenten testen 309

Teil V: Brötchen (oder Lorbeeren) mit Python verdienen 313

Kapitel 15 Code-Qualität315

Werkzeuge 316

Programmstil überprüfen mit Pycodestyle 317

Code reformatieren 319

Programmierfehler erkennen mit Pyflakes 321

Dokumentation überprüfen mit Pydocstyle 323

Sicherheitsrisiken finden mit Bandit 326

Integrierte Code-Audits 328

Modulare Audits mit Flake8 329

Das Schweizer Taschenmesser: Pylint 333

Chancen und Grenzen 335

Listen to your tools 335

Was Werkzeuge nicht leisten können 337

Kapitel 16 Webanwendungen entwickeln 339

Python und das Web 339

Die Qual der Wahl 340

Django 340

Was macht Django? 341

Wie Django HTTP-Anfragen verarbeitet 342

Ein Beispielprojekt 343

Schritt 1 Setup 344

Schritt 2 Die erste Seite 344

Schritt 3 Ein Modell 348

Schritt 4 Die Django-Verwaltung 350

Schritt 5 Eine eigene View 353

Schritt 6 HTML rendern 354

Zusammenfassung 355

Kapitel 17 Daten aufbereiten, visualisieren und auswerten357

Setup 358

Szenario: Minigolf 358

Datensatz 359

Schritt 0 Fragen 361

Schritt 1 Daten einlesen 362

Schritt 2 Data Frames untersuchen 362

Schritt 3 Series-Objekte betrachten 364

Schritt 4 Beschreibende Statistiken ausgeben 365

Schritt 5 Filtern und Bereinigen 367

Schritt 6 Auswerten 369

Schritt 7 Visualisieren 371

Schritt 8 Schließende Statistik 372

Zusammenfassung 373

Teil VI: Der Top-Ten-Teil 375

Kapitel 18 Zehn gute Bibliotheken377

Die Standardbibliothek 377

Requests 377

BeautifulSoup 378

Scrapy 378

Selenium 379

Cryptography 379

Pypdftk 380

Flask 380

OpenCV 380

NLTK 381

Kapitel 19 Zehn Dinge, die wir ausgelassen haben383

Python 2.7 383

Interoperabilität mit C 384

Python Bytecode disassemblieren 384

Debugging 385

Logging 385

GUIs 386

Nebenläufige Ausführung 387

Typ-Annotationen 387

Dataclasses 388

Walross-Operator 389

Stichwortverzeichnis 393

Informationen zu E-Books

„E-Book“ steht für digitales Buch. Um diese Art von Büchern lesen zu können wird entweder eine spezielle Software für Computer, Tablets und Smartphones oder ein E-Book Reader benötigt. Da viele verschiedene Formate (Dateien) für E-Books existieren, gilt es dabei, einiges zu beachten.
Von uns werden digitale Bücher in drei Formaten ausgeliefert. Die Formate sind EPUB mit DRM (Digital Rights Management), EPUB ohne DRM und PDF. Bei den Formaten PDF und EPUB ohne DRM müssen Sie lediglich prüfen, ob Ihr E-Book Reader kompatibel ist. Wenn ein Format mit DRM genutzt wird, besteht zusätzlich die Notwendigkeit, dass Sie einen kostenlosen Adobe® Digital Editions Account besitzen. Wenn Sie ein E-Book, das Adobe® Digital Editions benötigt herunterladen, erhalten Sie eine ASCM-Datei, die zu Digital Editions hinzugefügt und mit Ihrem Account verknüpft werden muss. Einige E-Book Reader (zum Beispiel PocketBook Touch) unterstützen auch das direkte Eingeben der Login-Daten des Adobe Accounts – somit können diese ASCM-Dateien direkt auf das betreffende Gerät kopiert werden.
Da E-Books nur für eine begrenzte Zeit – in der Regel 6 Monate – herunterladbar sind, sollten Sie stets eine Sicherheitskopie auf einem Dauerspeicher (Festplatte, USB-Stick oder CD) vorsehen. Auch ist die Menge der Downloads auf maximal 5 begrenzt.