Python 3 - Das umfassende Handbuch

Gebundene Ausgabe
49,90 €
inkl. MwSt. versandkostenfrei!


Produktdetails  
Verlag Rheinwerk Verlag
Auflage 8. Auflage, 05.02.2026
Seiten 1171
Format 18,5 x 6,0 x 25,0 cm
Gewicht 2034 g
ISBN-10 336710406X
ISBN-13 9783367104062
Bestell-Nr 36710406A

Produktbeschreibung  

Alles zu Python 3 in einem Buch, mit vielen Beispielen und Übungen

Verständlich, umfassend, praxisnah: Dieses Python-Handbuch ist die erste Wahl für alle, die Python in der Software-Entwicklung einsetzen. Ob Sie gerade anfangen, mit Python zu programmieren oder bei Ihrer Arbeit etwas nachschlagen möchten - in diesem großen Kompendium finden Sie alles, was Sie zu Python wissen müssen.

Angefangen mit einem Einstieg in die Sprache und ersten einfachen Beispielen bieten Ihnen Johannes Ernesti und Peter Kaiser in diesem Buch eine Sprachreferenz und die Beschreibung der Standardbibliothek. Die Praxis steht immer im Vordergrund, auch wenn die beiden Autoren professionelle Themen ins Visier nehmen wie GUI-Entwicklung, Webentwicklung, wissenschaftliches Rechnen oder Data Science.

Überall im Buch finden Sie Praxisbeispiele, die Ihnen helfen, das Gelernte zu festigen und Ihre Programmierfähigkeiten zu trainieren oder zu vertiefen. Die Programme stehen Ihnen auch als Download zur Verfügung, zusammen mit weiteren Anwendungsbeispielen.

Ein Muss für alle, die mit Python Software entwickeln oder Python lernen wollen.

  • Über 1.000 Seiten Python-Wissen: Einführung, Praxis, Referenz
  • Sprachgrundlagen, Objektorientierung, Modularisierung
  • Parallele Programmierung, Debugging, Webentwicklung mit Django, GUIs, Netzwerkkommunikation, Data Science u. v. m.

Aus dem Inhalt:

  • Sprachgrundlagen und objektorientierte Programmierung
  • Einführung in Python
  • Modularisierung
  • Reguläre Ausdrücke
  • Datums- und Zeitfunktionen
  • Thread-Programmierung
  • GUI-Programmierung
  • Webentwicklung mit Django
  • Mathematische Module
  • Schnittstellen zum Betriebssystem
  • Netzwerkkommunikation
  • Distribution von Python-Projekten
  • Programmoptimierung
  • Wissenschaftliches Rechnen
  • Data Science


Inhalt:


  1.  Einleitung ... 31


       1.1 ... Warum haben wir dieses Buch geschrieben? ... 31

       1.2 ... Was leistet dieses Buch? ... 32

       1.3 ... Wie ist dieses Buch aufgebaut? ... 32

       1.4 ... Wer sollte dieses Buch wie lesen? ... 33

       1.5 ... Beispielprogramme ... 34

       1.6 ... Vorwort zur achten Auflage ... 34

       1.7 ... Danksagung ... 35


  2.  Die Programmiersprache Python ... 39


       2.1 ... Geschichte und Entstehung ... 39

       2.2 ... Grundlegende Konzepte ... 40

       2.3 ... Einsatzmöglichkeiten und Stärken ... 41

       2.4 ... Die Installation von Python ... 43

       2.5 ... Drittanbietermodule installieren ... 45

       2.6 ... Die Verwendung von Python ... 46


TEIL I.  Einstieg in Python ... 49

  3.  Erste Schritte im interaktiven Modus ... 51


       3.1 ... Ganze Zahlen ... 52

       3.2 ... Gleitkommazahlen ... 53

       3.3 ... Zeichenketten ... 54

       3.4 ... Listen ... 55

       3.5 ... Dictionarys ... 55

       3.6 ... Variablen ... 56

       3.7 ... Logische Ausdrücke ... 58

       3.8 ... Funktionen und Methoden ... 60

       3.9 ... Bildschirmausgaben ... 62

       3.10 ... Module ... 63


  4.  Der Weg zum ersten Programm ... 65


       4.1 ... Tippen, kompilieren, testen ... 65

       4.2 ... Grundstruktur eines Python-Programms ... 69

       4.3 ... Das erste Programm ... 73

       4.4 ... Kommentare ... 75

       4.5 ... Der Fehlerfall ... 76


  5.  Kontrollstrukturen ... 79


       5.1 ... Fallunterscheidungen ... 79

       5.2 ... Schleifen ... 83

       5.3 ... Die pass-Anweisung ... 91

       5.4 ... Zuweisungsausdrücke ... 91


  6.  Dateien ... 95


       6.1 ... Datenströme ... 95

       6.2 ... Daten aus einer Datei auslesen ... 96

       6.3 ... Daten in eine Datei schreiben ... 101

       6.4 ... Das Dateiobjekt erzeugen ... 102


  7.  Das Datenmodell ... 109


       7.1 ... Die Struktur von Instanzen ... 111

       7.2 ... Referenzen löschen ... 116

       7.3 ... Mutable vs. immutable Datentypen ... 118


  8.  Funktionen, Methoden und Attribute ... 123


       8.1 ... Parameter von Funktionen und Methoden ... 123

       8.2 ... Attribute ... 126


  9.  Informationsquellen zu Python ... 129


       9.1 ... Die Built-in Function help ... 129

       9.2 ... Die Onlinedokumentation ... 130

       9.3 ... PEPs ... 130


TEIL II.  Datentypen ... 133

10.  Basisdatentypen: eine Übersicht ... 135


       10.1 ... Das Nichts -- NoneType ... 136

       10.2 ... Operatoren ... 137


11.  Numerische Datentypen ... 143


       11.1 ... Arithmetische Operatoren ... 143

       11.2 ... Vergleichende Operatoren ... 145

       11.3 ... Konvertierung zwischen numerischen Datentypen ... 146

       11.4 ... Ganzzahlen -- int ... 147

       11.5 ... Gleitkommazahlen -- float ... 154

       11.6 ... Boolesche Werte -- bool ... 157

       11.7 ... Komplexe Zahlen -- complex ... 163


12.  Sequenzielle Datentypen ... 167


       12.1 ... Der Unterschied zwischen Text und Binärdaten ... 167

       12.2 ... Operationen auf Instanzen sequenzieller Datentypen ... 169

       12.3 ... Listen -- list ... 181

       12.4 ... Unveränderliche Listen -- tuple ... 195

       12.5 ... Strings -- str, bytes, bytearray ... 199


13.  Zuordnungen und Mengen ... 239


       13.1 ... Dictionary -- dict ... 239

       13.2 ... Mengen -- set und frozenset ... 253


14.  Collections ... 267


       14.1 ... Verkettete Dictionarys ... 267

       14.2 ... Zählen von Häufigkeiten ... 268

       14.3 ... Dictionarys mit Standardwerten ... 271

       14.4 ... Doppelt verkettete Listen ... 272

       14.5 ... Benannte Tupel ... 274


15.  Datum und Zeit ... 277


       15.1 ... Elementare Zeitfunktionen -- time ... 277

       15.2 ... Objektorientierte Datumsverwaltung -- datetime ... 286

       15.3 ... Zeitzonen -- zoneinfo ... 296


16.  Enumerationen und Flags ... 303


       16.1 ... Aufzählungstypen -- Enum ... 303

       16.2 ... Aufzählungstypen für Bitmuster -- Flag ... 305

       16.3 ... Ganzzahlige Aufzählungstypen -- IntEnum ... 306


TEIL III.  Fortgeschrittene Programmiertechniken ... 309

17.  Funktionen ... 311


       17.1 ... Definieren einer Funktion ... 313

       17.2 ... Rückgabewerte ... 314

       17.3 ... Funktionsobjekte ... 316

       17.4 ... Optionale Parameter ... 317

       17.5 ... Schlüsselwortparameter ... 318

       17.6 ... Beliebige Anzahl von Parametern ... 319

       17.7 ... Reine Schlüsselwortparameter ... 321

       17.8 ... Reine Positionsparameter ... 323

       17.9 ... Unpacking beim Funktionsaufruf ... 324

       17.10 ... Seiteneffekte ... 326

       17.11 ... Namensräume ... 329

       17.12 ... Anonyme Funktionen ... 336

       17.13 ... Rekursion ... 337

       17.14 ... Eingebaute Funktionen ... 338


18.  Module und Pakete ... 365


       18.1 ... Einbinden globaler Module ... 366

       18.2 ... Lokale Module ... 368

       18.3 ... Pakete ... 371

       18.4 ... Das Paket importlib ... 376

       18.5 ... Geplante Sprachelemente ... 377


19.  Objektorientierte Programmierung ... 379


       19.1 ... Beispiel: Ein nicht objektorientiertes Konto ... 379

       19.2 ... Klassen ... 385

       19.3 ... Vererbung ... 390

       19.4 ... Mehrfachvererbung ... 403

       19.5 ... Property-Attribute ... 404

       19.6 ... Statische Methoden ... 407

       19.7 ... Klassenmethoden ... 409

       19.8 ... Klassenattribute ... 411

       19.9 ... Built-in Functions für die objektorientierte Programmierung ... 411

       19.10 ... Erben von eingebauten Datentypen ... 415

       19.11 ... Magic Methods und Magic Attributes ... 417

       19.12 ... Datenklassen ... 438


20.  Ausnahmebehandlung ... 443


       20.1 ... Exceptions ... 443

       20.2 ... Zusicherungen -- assert ... 459

       20.3 ... Warnungen ... 460

       20.4 ... Exception Groups ... 461


21.  Generatoren und Iteratoren ... 467


       21.1 ... Generatoren ... 467

       21.2 ... Iteratoren ... 474

       21.3 ... Spezielle Generatoren -- itertools ... 485

       21.4 ... Generatoren als Konsumenten ... 495


22.  Kontext-Manager ... 501


       22.1 ... Die with-Anweisung ... 501

       22.2 ... Hilfsfunktionen für with-Kontexte -- contextlib ... 504


23.  Dekoratoren ... 509


       23.1 ... Funktionsdekoratoren ... 509

       23.2 ... Klassendekoratoren ... 515

       23.3 ... Das Modul functools ... 516


24.  Annotationen und statische Typprüfung ... 523


       24.1 ... Annotationen ... 525

       24.2 ... Type Hints -- das Modul typing ... 532

       24.3 ... Statische Typprüfung in Python -- mypy ... 539


25.  Structural Pattern Matching ... 541


       25.1 ... Die match-Anweisung ... 541

       25.2 ... Arten von Mustern in der case-Anweisung ... 542


TEIL IV.  Die Standardbibliothek ... 559

26.  Mathematik ... 561


       26.1 ... Mathematische Funktionen -- math, cmath ... 561

       26.2 ... Zufallszahlengenerator -- random ... 568

       26.3 ... Statistische Berechnungen -- statistics ... 572

       26.4 ... Intuitive Dezimalzahlen -- decimal ... 574

       26.5 ... Hash-Funktionen -- hashlib ... 580


27.  Bildschirmausgaben und Logging ... 589


       27.1 ... Übersichtliche Ausgabe komplexer Objekte -- pprint ... 589

       27.2 ... Logdateien -- logging ... 591


28.  Reguläre Ausdrücke ... 599


       28.1 ... Die Syntax regulärer Ausdrücke ... 599

       28.2 ... Verwendung des Moduls re ... 611

       28.3 ... Ein einfaches Beispielprogramm -- Searching ... 618

       28.4 ... Ein komplexeres Beispielprogramm -- Matching ... 620

       28.5 ... Kommentare in regulären Ausdrücken ... 623

       28.6 ... Katastrophales Backtracking ... 624


29.  Schnittstellen zum Betriebssystem und zur Laufzeitumgebung ... 627


       29.1 ... Funktionen des Betriebssystems -- os ... 627

       29.2 ... Starten von Subprozessen -- subprocess ... 630

       29.3 ... Zugriff auf die Laufzeitumgebung -- sys ... 633

       29.4 ... Kommandozeilenparameter -- argparse ... 638


30.  Das Dateisystem ... 647


       30.1 ... Grundlegendes zu Dateisystemen und Pfaden ... 647

       30.2 ... Die moderne Lösung -- pathlib ... 649

       30.3 ... Zugriff auf das Dateisystem mit os ... 656

       30.4 ... Dateipfade -- os.path ... 664

       30.5 ... Zugriff auf das Dateisystem -- shutil ... 668

       30.6 ... Temporäre Dateien -- tempfile ... 674


31.  Parallele Programmierung ... 677


       31.1 ... Prozesse, Multitasking und Threads ... 677

       31.2 ... Pythons Schnittstellen zur Parallelisierung ... 682

       31.3 ... Die abstrakte Schnittstelle -- concurrent.futures ... 683

       31.4 ... Die flexible Schnittstelle -- threading und multiprocessing ... 694

       31.5 ... Die kooperative Schnittstelle -- asyncio ... 706

       31.6 ... Fazit: Welche Schnittstelle ist die richtige? ... 725


32.  Datenspeicherung ... 727


       32.1 ... Das Datenaustauschformat JSON -- json ... 727

       32.2 ... Serialisierung von Instanzen -- pickle ... 729

       32.3 ... Das Tabellenformat CSV -- csv ... 733

       32.4 ... Komprimierte Dateien und Archive ... 739

       32.5 ... Datenbanken ... 741

       32.6 ... XML ... 761


33.  Netzwerkkommunikation ... 777


       33.1 ... Die Socket API ... 778

       33.2 ... XML-RPC ... 797


34.  Zugriff auf Ressourcen im Internet ... 807


       34.1 ... Protokolle ... 807

       34.2 ... Lösungen ... 808

       34.3 ... Der einfache Weg -- requests ... 809

       34.4 ... URLs -- urllib ... 812

       34.5 ... FTP -- ftplib ... 820


35.  E-Mail ... 829


       35.1 ... SMTP -- smtplib ... 829

       35.2 ... POP3 -- poplib ... 832

       35.3 ... IMAP4 -- imaplib ... 837

       35.4 ... Erstellen komplexer E-Mails -- email ... 843


36.  Debugging und Qualitätssicherung ... 847


       36.1 ... Der Debugger ... 847

       36.2 ... Automatisiertes Testen ... 850

       36.3 ... Analyse des Laufzeitverhaltens ... 858


37.  Dokumentation ... 869


       37.1 ... Docstrings ... 869

       37.2 ... Automatisches Erstellen einer Dokumentation -- pydoc ... 871


TEIL V.  Weiterführende Themen ... 873

38.  Distribution von Python-Projekten ... 875


       38.1 ... Eine Geschichte der Distributionen in Python ... 875

       38.2 ... Erstellen von Distributionen -- setuptools ... 877

       38.3 ... Erstellen von EXE-Dateien -- cx_Freeze ... 886

       38.4 ... Paketmanager ... 888

       38.5 ... Lokalisierung von Programmen -- gettext ... 893


39.  Virtuelle Umgebungen ... 899


       39.1 ... Das Arbeiten mit virtuellen Umgebungen -- venv ... 900

       39.2 ... Virtuelle Umgebungen in Anaconda ... 901


40.  Alternative Interpreter und Compiler ... 903


       40.1 ... Just-in-Time-Kompilierung -- PyPy ... 903

       40.2 ... Numba ... 905

       40.3 ... Anbindung an C und C++ -- Cython ... 907

       40.4 ... Die interaktive Python-Shell -- IPython ... 914


41.  Grafische Benutzeroberflächen ... 923


       41.1 ... Toolkits ... 923

       41.2 ... Einführung in tkinter ... 925

       41.3 ... Einführung in PySide6 ... 972


42.  Python als serverseitige Programmiersprache im WWW -- ein Einstieg in Django ... 1021


       42.1 ... Konzepte und Besonderheiten von Django ... 1022

       42.2 ... Installation von Django ... 1023

       42.3 ... Ein neues Django-Projekt erstellen ... 1024

       42.4 ... Eine Applikation erstellen ... 1028


43.  Wissenschaftliches Rechnen und Data Science ... 1069


       43.1 ... Installation ... 1070

       43.2 ... Das Modellprogramm ... 1071

       43.3 ... Überblick über die Module numpy und scipy ... 1080

       43.4 ... Eine Einführung in die Datenanalyse mit pandas ... 1090


44.  Insiderwissen ... 1107


       44.1 ... URLs im Standardbrowser öffnen -- webbrowser ... 1107

       44.2 ... Interpretieren von Binärdaten -- struct ... 1107

       44.3 ... Versteckte Passworteingabe -- getpass ... 1110

       44.4 ... Kommandozeilen-Interpreter -- cmd ... 1110

       44.5 ... Dateiinterface für Strings -- io.StringIO ... 1113

       44.6 ... Kopieren von Instanzen -- copy ... 1114

       44.7 ... Bildverarbeitung -- Pillow ... 1118


45.  Eine Geschichte der Python-Versionen ... 1129


       45.1 ... Die Versionshistorie ... 1129

       45.2 ... Der Sprung nach Python 3 ... 1132


  Anhang ... 1139


       A.1 ... Reservierte Wörter ... 1139

       A.2 ... Operatorrangfolge ... 1139

       A.3 ... Eingebaute Funktionen ... 1141

       A.4 ... Eingebaute Exceptions ... 1145

       A.5 ... Python-IDEs ... 1150


  Index ... 1153

Autorenporträt  
Mehr Angebote zum Thema