|
|
|||
|
||||
OverviewPython entdecken – Das Abenteuer beginnt hier! Aus dem Dschungel der Programmiersprachen sticht Python durch seine elegante und schlichte Syntax hervor. Lernen Sie sie in einem Crashkurs kennen und erfahren Sie, wie man Programme mit Funktionen, Objekten und Modulen strukturiert. Es erwarten Sie jede Menge Tipps und Tricks zur Datenverarbeitung, Ablaufsteuerung und Fehlerbehandlung. Sie erfahren, wie man Programme testet, entwickeln ein Nachrichtenprotokoll fürs Netzwerk und probieren die visuelle Datenanalyse aus. Erstellen Sie Programme mit GUI und durchforsten Sie das Netz nach interessanten Daten. Starten Sie jetzt ins Abenteuer! Sie erfahren Wie Sie mit Python interessante Probleme lösen Wie Sie Programme mit Funktionen, Klassen und Modulen strukturieren Wie Sie das Internet nach Daten durchforsten und Webseiten mit Django erstellen Full Product DetailsAuthor: Johannes C. Hofmeister , Horst SchneiderPublisher: Wiley-VCH Verlag GmbH Imprint: Blackwell Verlag GmbH Dimensions: Width: 17.60cm , Height: 1.50cm , Length: 24.00cm Weight: 0.680kg ISBN: 9783527718498ISBN 10: 3527718494 Pages: 800 Publication Date: 02 July 2025 Audience: Professional and scholarly , Professional & Vocational Format: Paperback Publisher's Status: Active Availability: Out of stock The supplier is temporarily out of stock of this item. It will be ordered for you on backorder and shipped when it becomes available. Language: German Table of ContentsInhaltsverzeichnis Über den Autor 27 Danksagung 29 Einleitung 31 Törichte Annahmen über die Leser 31 Wie Sie dieses Buch nutzen können 32 Was Sie nicht lesen müssen 32 Wie dieses Buch aufgebaut ist 32 Symbole, die in diesem Buch verwendet werden 34 Konventionen in diesem Buch 35 TEIL I Willkommen in Python-City 37 Kapitel 1 Python – eine Hochglanzbroschüre 39 Was Python so interessant macht 40 Dunkle Flecken – was an Python manchmal nicht so schön ist 41 Infrastruktur und Dienstleistungen 42 Haushalt und Wirtschaft 43 Politische Entscheidungsprozesse 44 Philosophie 44 Willkommen 45 Kapitel 2 Der Einzug in die neue Wohnung 47 Was wird installiert? 47 Windows 48 1 Installer herunterladen 48 2 Features auswählen 49 3 Anpassungen vornehmen 50 4 Installieren 50 5 Installation prüfen 51 macOS 52 1 Installer herunterladen 52 2 Installer ausführen 52 3 Ziel auswählen 52 4 Installation anpassen 52 4 Abwarten und Tee trinken 53 5 Installation testen 53 12 Inhaltsverzeichnis Linux 54 Ubuntu 54 Fedora 55 Einer für alle 56 Windows 56 Linux56 macOS 57 Kapitel 3 Die Nachbarschaft kennenlernen 59 Die Kommandozeile starten 59 Windows 60 macOS 60 Linux60 Auf der Kommandozeile 61 Wo bin ich?62 Befehle für die Kommandozeile 63 Code ausprobieren 65 Die Wahl des Editors 66 Programme ausführen 67 Kapitel 4 Exposition auf dem Stadtfest – ein erster Blick in den Code 69 Ausführung 71 Vogelperspektive 72 Ein Docstring 74 Eine Zahl ausdenken 75 Eine erste Runde drehen 75 Raten 76 Hast du einen Tipp? 79 Weiter geht’s! 80 Kapitel 5 Syntax – die lokale Mundart 81 Verschiedene Ausdrucksformen 81 Zeilen 82 Schlüsselwörter, Anweisungen und Ausdrücke 84 Zusammengesetzte Anweisungen 86 Einrückung 87 Variablen 89 Namensfindung 90 Literale 91 Objekte 93 Inhaltsverzeichnis 13 TEIL II Alles unter Kontrolle 95 Kapitel 6 Mit Wenn und Aber – Bedingungen stellen 97 Verzweigungen im Programmablauf97 If-Anweisungen 98 If-Ausdrücke100 Musterabgleiche101 Kapitel 7 Anweisungen wiederholen mit Schleifen 105 Wiederholungen mit while 105 Break and Continue 107 For-Schleifen 109 Kapitel 8 Der eingebaute Taschenrechner – ein bisschen Mathe 113 Zahlen 113 Exkurs: Zahlensysteme114 Binärzahlen 115 Hexadezimalzahlen 116 Konvertieren 117 Große Zahlen 117 Kommazahlen 118 Festkommazahlen 119 Brüche 120 Rechnen 120 Operatorrangfolge 123 Funktionen für mathematische Probleme 123 Kapitel 9 Wahrheit oder Pflicht – logische Ausdrücke formulieren 125 Wahrheitswerte 125 Truthy-Falsy 126 Vergleichsoperatoren 128 Verneinung 129 Logische Operatoren 130 AND – logisches Und 130 OR – logisches Oder 131 XOR – logisches Entweder-Oder132 Logische Gesetze 134 Distributivgesetz 135 De-Morgansche Gesetze137 Tipps139 14 Inhaltsverzeichnis Kapitel 10 Verpackungstechnik – eingebaute Container-Datentypen 141 Listen 141 Listen aufbauen und bearbeiten 142 Metadaten abfragen 144 Sortieren 146 Einzelne Elemente abfragen 146 Listen zerschnippeln – Slicing 147 Tupel 149 Einpacken – Auspacken 151 Benannte Tupel 153 Dictionarys154 Dictionarys iterieren 155 Schlüsseldienst 156 Sets157 Einmalige Elemente 157 Teilmengen159 Schnittmenge 160 Vereinigungsmenge 161 Differenzmenge 163 Symmetrische Differenz 163 Zusammenfassung 164 Weitere Datentypen 164 Frozensets 165 Bytes und Byte-Array 165 Arrays, Structs165 und viele andere mehr166 Kapitel 11 Comprehensions – selbstverständliche Listen 167 List-Comprehensions 168 Iteration 169 Projektion 169 Selektion 170 Set-Comprehensions 171 Dict-Comprehensions 171 Generatoren statt Tupel-Comprehensions 172 Beispiel: Ein Balkendiagramm173 Schleife oder Comprehension?176 Sonderfälle177 “ftoc-new_PrintPDF” — 2025/4/23 — 1:53 — page 15 — #5 Inhaltsverzeichnis 15 TEIL III Buchstabensuppe 179 Kapitel 12 Strings – Python als Schreibmaschine 181 Auf einen Blick 182 Syntax 183 String-Objekte 183 Mehrzeilige Strings 183 Gemischte Anführungszeichen184 Ausbruch mit Escape-Zeichen 185 Texte einlesen 185 Texte ausgeben 186 Steuerzeichen 188 str - Objekte in Strings konvertieren190 Variablen im Text formatieren190 Interpolation mit f-Strings 191 Früher war %(alle)s anders 192 Explizites Formatieren 193 Minisprache zur Formatierung193 Zahlen anders darstellen193 Zahlen runden 194 Werte ausrichten und auffüllen 194 Datumsangaben formatieren 195 Wichtige Methoden 196 Kapitel 13 Mit regulären Ausdrücken Buchstaben aus der Suppe fischen199 Textmuster beschreiben 200 Gebräuchliche Zeichenklassen204 Gebräuchliche Methoden 206 Vorne suchen – rematch207 Auch weiter hinten suchen – research 208 Alle Vorkommen ausfindig machen – refindall 208 Vorkommen mit Metadaten – refinditer 208 Vorkommen ersetzen mit resub 209 Strings zerteilen mit resplit 209 Beispiel: Nach Vereinbarung 209 Reguläre Ausdrücke in der Praxis 217 Fallstrick: Gierige Ausdrücke 219 Nützliche Rezepte 220 Einen Text nach Zahlen durchsuchen 220 Überflüssige Leerzeichen in einem Text zusammenfalten 220 Alle Schreibweisen von »Mayer« finden 221 Einen Text in Wörter zerlegen 221 Auskommentierte Zeilen in einem Python-Programm ausgeben 221 HTML-Farbcodes in einer css-Datei finden 221 16 Inhaltsverzeichnis Kapitel 14 Surfen im Dateisystem 223 Die Qual der Wahl 223 Das aktuelle Verzeichnis herausfinden 224 Die aktuelle Programmdatei finden 225 Verzeichnisse normalisieren 226 Pfade verbinden und lösen 226 Verzeichnis oder Datei?227 Dateien in einem Verzeichnis auflisten 228 Dateien verschieben und kopieren 230 Kapitel 15 Für Ihre Unterlagen – Dateien lesen und schreiben 231 Textdateien 231 Buchstabenweise lesen 233 Zeilenweise lesen234 Dateien schließen235 Dateimodi 237 Lesen und Schreiben gleichzeitig 239 Binärdateien 242 Bytes-Objekte 243 Byte-Blöcke lesen244 Bytes interpretieren (als PNG) 246 Kapitel 16 Bl\xc3\xb6des Encoding 251 Am Anfang war das ASCII 252 Codepages253 Mit Unicode gegen den Zeichensalat255 UTF-8 257 Unicode-Support in Python 259 Wie encode ich richtig?260 TEIL IV Objekte und Funktionen263 Kapitel 17 Wie Funktionen funktionieren 265 Built-in Functions 265 Eigene Funktionen 266 Funktionen definieren 267 Im Rumpf 268 Funktionen aufrufen 269 Funktionsobjekte 270 Argumente übergeben 270 Rückgabewerte 272 Namensräume 273 Sichtbarkeit (Scope) von Variablen 275 Inhaltsverzeichnis 17 Jede für sich 277 Parameter279 Argumente prüfen 280 Typ-Fehler vermeiden 282 Optionale Parameter – Default-Argumente 282 Parameterreihenfolge 285 Positionale Übergabe erzwingen 286 Flexible Parameter 28 9 Auspacken beim Aufruf 292 Funktionale Programmierung294 Genau die richtige Menge des Guten296 Funktionen: Keine Bürger zweiter Klasse 297 Funktionen, die Funktionen annehmen 298 Lambdas: Funktionen ohne Namen 300 Funktionen, die Funktionen zurückgeben 303 Rekursion: Funktionen, die sich selbst aufrufen 304 Dekoratoren 306 Kapitel 18 Die Welt verstehen mit Objekten 313 Objektorientierte Programmierung 315 Was sind Objekte?316 Wo kommen die Objekte her? 316 Wo gehen Objekte hin? 318 Was können Objekte so?318 Welche Vorteile haben Objekte? 320 Und die Nachteile? 320 Zusammenfassung 321 Eine Klasse für sich 321 Konstruktoraufruf322 Attribute anlegen 323 Die Ausgabe steuern 324 Auch nur mit Wasser gekocht 325 Vererbung 326 Gleich und Selb 327 Vergleiche 328 Arithmetik 329 Eigene Methoden330 Zusammenfassung 332 Vererbung333 Elternklasse 335 Erben337 Späte Bindung 338 Mixins – misch dich ruhig ein 341 Diskussion 347 18 Inhaltsverzeichnis Kapitel 19 Exceptions – ausnahmsweise keine Katastrophe349 Exceptions behandeln 352 Try – Versuch macht kluch353 Except – Ausnahmen bestätigen die Regel 353 Else und Finally – zu guter Letzt, zu schlechter Letzt355 Ausnahmen auslösen 355 Eigene Ausnahmen definieren356 Kapitel 20 Daten ohne Ende – Iteratoren und Generatoren365 Das Iterator-Protokoll 366 Generatoren 368 Generator-Ausdrücke 369 Eifrige und verzögerte Auswertung 370 Generator-Funktionen 371 Verschachtelte Generatoren 372 Unendliche Generatoren372 Itertools 374 Generator-Objekte 375 Kapitel 21 Code strukturieren mit Modulen und Paketen 377 Module und Pakete 377 Die Standardbibliothek378 Module importieren 379 Module inspizieren 380 Namensräume 381 Direktimporte 382 Namenskonflikte vermeiden 382 Wie der Interpreter Module sucht 383 Pakete – Code von anderen 384 Wie Sie an Pakete kommen 385 Leser installiert pip 387 Pip installiert Pakete 388 Pip installiert Abhängigkeiten 391 Wo landen die Pakete? 392 Versionen 393 Pakete updaten 394 Spezifische Versionen installieren 395 Virtuelle Umgebungen – Paketkonflikte vermeiden durch venv 395 Versionen einfrieren … 399 …und wieder auftauen 400 Module und Pakete aus eigener Züchtung401 Ausführbare Module importieren 402 Python-Code in einem Verzeichnis 404 Packungsbeilagen für den Versand 406 Inhaltsverzeichnis 19 TEIL V Weniger kaputte Software 411 Kapitel 22 Stilfrage – was lesbaren Code ausmacht 413 Ein Befehl pro Zeile 414 Zeilenlänge unter 80 Zeichen 414 Hören Sie auf lange Zeilen! 416 Imports gehören nach oben 418 Leerzeichen vereinzeln418 Schleppkommata zum Zeilenschubsen 419 Unwirkliche Vergleiche mit Booleans419 Kapitel 23 Schleifen, trimmen, jäten421 Formatierer – den Code geraderücken 421 Linting – die Fusselbürste für Ihren Code 423 Sicherheitsprobleme vermeiden mit Bandit 428 Kapitel 24 Testen, Testen, Testen 431 Was ist ein Test?431 Intuitives Testen – jeder ist ein Tester432 doctest – Tests als Dokumentation 434 Das System under Test – die Wurst, um die es geht435 Ein erster Test 436 Doctest ausführen 437 Weitere Tests hinzufügen 438 Mit Tests gegen den Fehlerteufel 440 Ausnahmen testen 445 Testgetriebene Entwicklung 447 Schreiben Sie einen Test448 Rot – ein fehlgeschlagener Test448 Grün – ein erfolgreicher Test 449 Refactoring – notwendige Aufräumarbeiten449 unittest – wenn es mal komplexer wird 451 Die Anatomie eines Unit-Tests452 Assertions – große Erwartungen 454 unittest ausführen 455 Eine Funktion testgetrieben entwickeln 457 Refactoring – jetzt mit Sicherung 464 Fortgeschrittene Themen 467 Doppelgänger – Mocks und Stubs 468 Setup und Teardown 473 Kapitel 25 Typing – dem Interpreter Ratschläge geben475 Typ-Prüfung für Variablen 477 für Sammlungen 479 20 Inhaltsverzeichnis für Funktionen 481 für generische Funktionen 482 für generische Listen483 für bestimmte Protokolle 484 für Datenklassen 486 TEIL VI Wartezeiten vermeiden 489 Kapitel 26 Arbeitsteilung – wie ein Computer zwei Dinge gleichzeitig erledigt 491 Multitasking – geteilte Aufmerksamkeit 492 Parallelisierung – geteiltes Leid 493 Zusammenfassung 494 Kapitel 27 Threads – nicht den Faden verlieren 495 Der rote Faden 495 Wofür Threads gut sind497 Wofür Threads nicht gut sind 498 Threads einfädeln 499 Locks – einer nach dem anderen 501 Teuflische Hintergrund-Threads 504 Kapitel 28 Multiprocessing – Arbeit auf mehrere Prozesse verteilen511 Nebenläufigkeit – ein Experiment 511 Aufgaben im Pool ausführen 516 Kapitel 29 Async – wenn Sie nicht auf IO warten möchten 519 TEIL VII Netzwerkprogrammierung 523 Kapitel 30 Wie Netzwerke aufgebaut sind 525 Wie werden Daten übertragen? 526 Protokolle – Regeln zur Verständigung 527 Ein vereinfachtes Schichtenmodell 528 Die Anwendungsschicht 528 Die Transportschicht 529 Die Vermittlungsschicht 529 Die Übertragungsschicht529 Von oben nach unten 529 Gebräuchliche Protokolle 530 Die Transportschicht unter der Lupe531 UDP – schnell, aber unzuverlässig 531 Inhaltsverzeichnis 21 TCP – zuverlässig, aber langsam532 UDP oder TCP? 532 Header-Daten 533 Die Port-Nummer 534 IP-Adressen 535 Die eigene IP-Adresse herausfinden537 Kapitel 31 UDP – wenn’s schnell gehen soll 539 Katz und Maus – Server und Client 539 Vorbereitung 540 Server – alles für die Katz 541 Client – hier kommt die Maus 543 Die Maus auf die Katze loslassen 545 »Richtige« IP-Adressen 546 Kapitel 32 TCP – wenn es ankommen muss 549 Verbindungsaufbau 549 Datenaustausch552 Daten empfangen553 Nachrichten 554 Over & Out555 Beispiel: Ein Briefkasten für genau eine Postkarte557 Ein einfaches Protokoll 557 Ausbaustufe 1 – ein Grundgerüst für Client und Server 559 Ausbaustufe 2 – ein erster Austausch561 Ausbaustufe 3 – Nachrichten lesen und schreiben 562 Ausbaustufe 4 – diskrete Typen566 Ausbaustufe 5 – Nachrichten speichern und abholen 568 Ausbaustufe 6 – Verbesserungen 571 Fehlerbehandlung – jeder macht mal Fehler 571 Nachrichten empfangen – aber echt jetzt! 574 Den Server laufen lassen575 Ausblick 575 Non-Blocking IO 575 Sicherheit 576 Weitere Features 580 TEIL VIII Python im World Wide Web 583 Kapitel 33 Wie das World Wide Web aufgebaut ist585 Hypertext – verknüpfte Texte 585 Das WWW586 Die Einzelteile im Überblick 586 Webseiten und Ressourcen 587 Browser 587 Webserver 588 22 Inhaltsverzeichnis Die Anatomie einer Webseite 588 HTML – das Grundgerüst588 Tags – Bausteine der Websprache 590 CSS – Webseiten mit Stil 592 JavaScript – wenn es zappeln soll 593 Seiten mit dem eingebauten Webserver ausliefern 594 Webanwendungen – mehr als nur eine Seite 596 Das Hypertext-Transfer-Protokoll 596 HTTP-Anfragen 597 HTTP-Methoden und -Ressourcen 597 Content-Negotiation – Inhalte aushandeln 598 HTTP-Antworten 599 Wichtige Status-Codes 599 Wichtige Header 600 Kapitel 34 Im Web surfen 603 Hausmittelchen: Webseiten öffnen mit der urllib 603 Requests: HTTP für Menschen604 Im Essen stochern mit Beautiful Soup 605 Scrapy – Daten im Spinnennetz 608 Die HTML-Struktur 610 Auswahlverfahren: CSS-Selektoren 611 Ein erstes Krabbeltier 613 Unterseiten aufrufen 614 Datensätze ausgeben 615 Kapitel 35 Profi-Webseiten mit Django 619 Was ist Django? 620 Datenbanken 621 Eine Vereinsseite623 Installieren623 Ein Projekt anlegen 624 Den Webserver starten 626 Eine App anlegen 627 Ihre Startseite 629 Das Schablonen-System 633 Ein Menü einfügen 635 CSS-Dateien einbinden 637 Platzhalter ausstanzen 640 Unterseiten einfügen 643 Daten modellieren 646 Wozu dienen die Modelle? 647 Der Ablauf beim Modellieren 647 Model-Planning 648 Modell erstellen 649 Migrationen generieren 651 Inhaltsverzeichnis 23 Zustand der Datenbank überprüfen 651 Migrationen erzeugen 653 Migration anwenden 653 Model ausprobieren 654 Das Modell aktualisieren655 Rasenmäher-Übersichtsseiten657 Detailseiten für Rasenmäher 661 Detailseiten verlinken 663 Im Lieferumfang: Das Admin-Backend 664 Zusammenfassung 670 TEIL IX Der Python im Daten-Dschungel 673 Kapitel 36 Interaktive Notebooks 675 Projekt Jupyter 675 Die Notebook-Umgebung installieren 676 Erste Schritte im Notebook 677 Tastenkürzel – Finger weg von der Maus 678 Code und Dokumentation 679 Magische Zellen 681 Hilfe, ich habe mich verlaufen!681 Interaktive Zellen 683 Kapitel 37 Daten jonglieren mit Pandas 689 Datensätze laden 689 Zeilen ausgeben690 Spalten anzeigen692 Series-Objekte: Schön der Reihe nach 693 Deskriptive Statistiken generieren 695 Zeilen aus Series und DataFrames abfragen 696 Interaktiv filtern 698 Daten gruppieren 700 Fehlende Daten entfernen 704 Resampling – Zeitreihen untersuchen 706 Kapitel 38 Linien, Balken, Torten – Daten visualisieren mit Matplotlib 711 Matplotlib – wie die Axes im Walde 711 Interaktive Plots 714 Eine kleine Diagramm-Galerie717 Torten- und Balkendiagramme718 Heatmaps 721 Boxplots 723 Streudiagramme 725 Histogramme 727 Ausblick: Schnellere und schönere Diagramme 729 24 Inhaltsverzeichnis TEIL X GUI-Programmierung 731 Kapitel 39 Ansichtssache – Programme mit GUI 733 Alternativen – was gibt es sonst so?733 Vorteile 734 Nachteile 735 Herausforderungen 738 Kapitel 40 GUIs mit tkinter 739 Sprechen Sie GUI? 740 Der Entwurf einer GUI-Anwendung 741 Die Problemstellung umreißen742 Eine Skizze des Ablaufs 743 Eine Skizze der GUI 744 Umsetzung746 Ein Fenster erzeugen 746 Widgets hinzufügen 748 Widgets arrangieren 750 Das Layout auflockern 752 Eine Datei öffnen 752 Eine Aktion per Mausklick auslösen 753 Einen Datei-Dialog öffnen754 Die gewählte Datei anzeigen 755 Die Datei hashen 759 Verfügbare Algorithmen anzeigen 759 Einen Algorithmus auswählen 760 Den Hash-Wert berechnen 763 Den Hash-Wert anzeigen764 Fehlerbehandlung765 In die Zwischenablage kopieren768 Statusanzeige updaten 769 Große Dateien hashen 770 Den Fortschrittsbalken aktualisieren 771 Häppchenweise hashen 771 Fortschritt herauslesen 773 Hintergrund-Thread 775 Abschließende Feinarbeiten – der letzte Schliff 777 Gutes Aussehen? Kein Thema!778 Aufgelöst – den Tränen nah 781 Die Skalierung anpassen783 GUI ohne Konsolenfenster starten 785 Windows 785 macOS 785 Linux 785 Inhaltsverzeichnis 25 TEIL XI Der Top-Ten-Teil 789 Kapitel 41 Dos and Don’ts 791 Zehn Dinge, die Sie tun sollten791 Zehn Dinge, die Sie unterlassen sollten 792 Kapitel 42 Zehn elegante Einzeiler 793 Zwei Variablen vertauschen 793 Negativ Runden 793 Aus einer Liste einen String machen793 Eine verschachtelte Liste plätten 794 Doppelte Elemente entfernen794 Eine Liste paarweise durchlaufen 794 Vier Items gleichzeitig iterieren 794 Zwei Listen zu einem Dictionary kombinieren 795 Eine Matrix transponieren 795 Eine geheime Nachricht dekodieren796 Stichwortverzeichnis 797ReviewsAuthor InformationJohannes C. Hofmeister arbeitet als Administrator am Psychologischen Institut der Universität Heidelberg. 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. Tab Content 6Author Website:Countries AvailableAll regions |
||||