Ernesti / Kaiser | Python 3 | Buch | 978-3-367-10406-2 | www2.sack.de

Buch, Deutsch, 1171 Seiten, Format (B × H): 168 mm x 240 mm

Reihe: Rheinwerk Computing

Ernesti / Kaiser

Python 3

Das umfassende Handbuch: Über 1.000 Seiten zu Sprachgrundlagen, OOP und Beispielprogrammen. Ausgabe 2026
8. Auflage 2026
ISBN: 978-3-367-10406-2
Verlag: Rheinwerk Verlag GmbH

Das umfassende Handbuch: Über 1.000 Seiten zu Sprachgrundlagen, OOP und Beispielprogrammen. Ausgabe 2026

Buch, Deutsch, 1171 Seiten, Format (B × H): 168 mm x 240 mm

Reihe: Rheinwerk Computing

ISBN: 978-3-367-10406-2
Verlag: Rheinwerk Verlag GmbH


Alles zu Python 3 in einem Buch, mit vielen Beispielen und ÜbungenVerstä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

Ernesti / Kaiser Python 3 jetzt bestellen!

Weitere Infos & Material



  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


Ernesti, Johannes
Dr. Johannes Ernesti hat am Karlsruher Institut für Technologie (KIT) in angewandter Mathematik promoviert. Seit Mai 2019 ist er bei DeepL als Research Scientist angestellt

Kaiser, Peter
Dr. Peter Kaiser hat am Karlsruher Institut für Technologie (KIT) in humanoider Robotik promoviert. Seit Mai 2019 arbeitet er als Research Scientist bei DeepL.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.