Python 3

Das umfassende Handbuch: Über 1.000 Seiten Sprachgrundlagen, Objektorientierte Programmierung und Beispielprogramme
Langbeschreibung
Entdecken Sie die Möglichkeiten von Python 3. Egal, ob Sie erst anfangen, mit Python zu arbeiten oder bei Ihrer Arbeit etwas nachschlagen möchten - in diesem Buch finden Sie alles, was Sie zu Python wissen müssen. Nach einer Einführung in die Sprache für Einsteiger folgt eine umfassende Sprachreferenz, die Beschreibung der Standardbibliothek und ausführliche Informationen zu professionellen Themen wie GUI-Entwicklung, Webentwicklung mit Django, Anbindung an C/C++ oder wissenschaftliches Rechnen. Die Autoren helfen Ihnen auch bei der Migration alter Projekte von Python 2 nach Python 3.
Haupbeschreibung
Migration, Debugging, Webentwicklung mit Django, GUIs, Netzwerkkommunikation u.v.m.
Inhaltsverzeichnis
1. Einleitung ... 27 2. Die Programmiersprache Python ... 35 2.1 ... Historie, Konzepte, Einsatzgebiete ... 35 2.2 ... Die Installation von Python ... 39 2.3 ... Die Verwendung von Python ... 41TEIL I Einstieg in Python ... 43 3. Erste Schritte im interaktiven Modus ... 45 3.1 ... Ganze Zahlen ... 46 3.2 ... Gleitkommazahlen ... 47 3.3 ... Zeichenketten ... 48 3.4 ... Listen ... 48 3.5 ... Dictionarys ... 49 3.6 ... Variablen ... 50 3.7 ... Logische Ausdrücke ... 52 3.8 ... Funktionen und Methoden ... 54 3.9 ... Bildschirmausgaben ... 56 3.10 ... Module ... 57 4. Der Weg zum ersten Programm ... 59 4.1 ... Tippen, kompilieren, testen ... 59 4.2 ... Grundstruktur eines Python-Programms ... 63 4.3 ... Das erste Programm ... 66 4.4 ... Kommentare ... 69 4.5 ... Der Fehlerfall ... 69 5. Kontrollstrukturen ... 71 5.1 ... Fallunterscheidungen ... 71 5.2 ... Schleifen ... 76 5.3 ... Die pass-Anweisung ... 84 6. Dateien ... 85 6.1 ... Datenströme ... 85 6.2 ... Daten aus einer Datei auslesen ... 86 6.3 ... Daten in eine Datei schreiben ... 90 6.4 ... Das Dateiobjekt erzeugen ... 91 7. Das Laufzeitmodell ... 97 7.1 ... Die Struktur von Instanzen ... 99 7.2 ... Referenzen und Instanzen freigeben ... 103 7.3 ... Mutable vs. immutable Datentypen ... 104 8. Funktionen, Methoden und Attribute ... 109 8.1 ... Parameter von Funktionen und Methoden ... 109 8.2 ... Attribute ... 112 9. Informationsquellen zu Python ... 113 9.1 ... Die Built-in Function help ... 113 9.2 ... Die Onlinedokumentation ... 114 9.3 ... PEPs ... 114TEIL II Datentypen ... 11710. Basisdatentypen: eine Übersicht ... 119 10.1 ... Das Nichts -- NoneType ... 120 10.2 ... Operatoren ... 12111. Numerische Datentypen ... 125 11.1 ... Arithmetische Operatoren ... 125 11.2 ... Vergleichende Operatoren ... 127 11.3 ... Konvertierung zwischen numerischen Datentypen ... 128 11.4 ... Ganzzahlen -- int ... 129 11.5 ... Gleitkommazahlen -- float ... 135 11.6 ... Boolesche Werte -- bool ... 138 11.7 ... Komplexe Zahlen -- complex ... 14412. Sequenzielle Datentypen ... 147 12.1 ... Operationen auf Instanzen sequenzieller Datentypen ... 148 12.2 ... Listen -- list ... 159 12.3 ... Unveränderliche Listen -- tuple ... 171 12.4 ... Strings -- str, bytes, bytearray ... 17413. Zuordnungen und Mengen ... 211 13.1 ... Dictionary -- dict ... 211 13.2 ... Mengen -- set und frozenset ... 22314. Collections ... 237 14.1 ... Verkettete Dictionarys ... 237 14.2 ... Zählen von Häufigkeiten ... 238 14.3 ... Dictionarys mit Standardwerten ... 241 14.4 ... Doppelt verkettete Listen ... 241 14.5 ... Benannte Tupel ... 24315. Datum und Zeit ... 247 15.1 ... Elementare Zeitfunktionen -- time ... 247 15.2 ... Objektorientierte Datumsverwaltung -- datetime ... 25516. Weitere Datentypen ... 267 16.1 ... Aufzählungstypen -- Enum ... 267 16.2 ... Datenklassen ... 271TEIL III. Fortgeschrittene Programmiertechniken ... 27717. Funktionen ... 279 17.1 ... Schreiben einer Funktion ... 281 17.2 ... Funktionsobjekte ... 284 17.3 ... Funktionsparameter ... 285 17.4 ... Namensräume ... 296 17.5 ... Anonyme Funktionen ... 302 17.6 ... Rekursion ... 303 17.7 ... Eingebaute Funktionen ... 30418. Modularisierung ... 331 18.1 ... Einbinden globaler Module ... 331 18.2 ... Lokale Module ... 334 18.3 ... Pakete ... 337 18.4 ... Das Paket importlib ... 34119. Objektorientierung ... 347 19.1 ... Klassen ... 352 19.2 ... Vererbung ... 357 19.3 ... Setter und Getter und Property-Attribute ... 372 19.4 ... Klassenattribute und Klassenmethoden sowie statische Methoden ... 375 19.5 ... Built-in Functions für Objektorientierung ... 378 19.6 ... Objektphilosophie ... 381 19.7 ... Magic Methods und Magic Attributes ... 38320. Ausnahmebehandlung ... 403 20.1 ... Exceptions ... 403 20.2 ... Zusicherungen -- assert ... 416 20.3 ... Warnungen ... 41721. Iteratoren ... 419 21.1 ... Comprehensions ... 419 21.2 ... Generatoren ... 423 21.3 ... Iteratoren ... 430 21.4 ... Spezielle Generatoren -- itertools ... 44022. Kontextobjekte ... 451 22.1 ... Die with-Anweisung ... 451 22.2 ... Hilfsfunktionen für with-Kontexte -- contextlib ... 45423. Manipulation von Funktionen und Methoden ... 457 23.1 ... Decorator ... 457 23.2 ... Das Modul functools ... 46024. Annotationen zur statischen Typprüfung ... 469 24.1 ... Annotationen ... 471 24.2 ... Type Hints -- das Modul typing ... 477 24.3 ... Statische Typprüfung in Python -- mypy ... 481TEIL IV Die Standardbibliothek ... 48525. Mathematik ... 487 25.1 ... Mathematische Funktionen -- math, cmath ... 487 25.2 ... Zufallszahlengenerator -- random ... 493 25.3 ... Statistische Berechnungen -- statistics ... 497 25.4 ... Präzise Dezimalzahlen -- decimal ... 498 25.5 ... Hash-Funktionen -- hashlib ... 50426. Reguläre Ausdrücke ... 511 26.1 ... Syntax regulärer Ausdrücke ... 511 26.2 ... Verwendung des Moduls ... 523 26.3 ... Ein einfaches Beispielprogramm -- Searching ... 529 26.4 ... Ein komplexeres Beispielprogramm -- Matching ... 53027. Schnittstelle zu Betriebssystem und Laufzeitumgebung ... 535 27.1 ... Funktionen des Betriebssystems -- os ... 535 27.2 ... Zugriff auf die Laufzeitumgebung -- sys ... 538 27.3 ... Kommandozeilenparameter -- argparse ... 54428. Dateisystem ... 553 28.1 ... Zugriff auf das Dateisystem mit os ... 553 28.2 ... Dateipfade -- os.path ... 559 28.3 ... Zugriff auf das Dateisystem -- shutil ... 564 28.4 ... Temporäre Dateien -- tempfile ... 57029. Parallele Programmierung ... 573 29.1 ... Prozesse, Multitasking und Threads ... 573 29.2 ... Pythons Schnittstellen zur Parallelisierung ... 577 29.3 ... Die abstrakte Schnittstelle -- concurrent.futures ... 578 29.4 ... Die flexible Schnittstelle -- threading und multiprocessing ... 589 29.5 ... Die kooperative Schnittstelle -- asyncio ... 601 29.6 ... Fazit: Welche Schnittstelle ist die richtige? ... 61930. Datenspeicherung ... 621 30.1 ... Komprimierte Dateien lesen und schreiben -- gzip ... 621 30.2 ... XML ... 623 30.3 ... Datenbanken ... 637 30.4 ... Serialisierung von Instanzen -- pickle ... 657 30.5 ... Das Datenaustauschformat JSON -- json ... 660 30.6 ... Das Tabellenformat CSV -- csv ... 66231. Netzwerkkommunikation ... 669 31.1 ... Socket API ... 670 31.2 ... URLs -- urllib ... 689 31.3 ... FTP -- ftplib ... 698 31.4 ... E-Mail ... 704 31.5 ... Telnet -- telnetlib ... 722 31.6 ... XML-RPC ... 72532. Debugging und Qualitätssicherung ... 737 32.1 ... Der Debugger ... 737 32.2 ... Formatierte Bildschirmausgabe -- pprint ... 740 32.3 ... Logdateien -- logging ... 742 32.4 ... Automatisiertes Testen ... 748 32.5 ... Analyse des Laufzeitverhaltens ... 757 32.6 ... Optimierung ... 76633. Dokumentation ... 771 33.1 ... Docstrings ... 771 33.2 ... Automatisches Erstellen einer Dokumentation -- pydoc ... 773TEIL V Weiterführende Themen ... 77534. Alternative Interpreter und Compiler ... 777 34.1 ... Just-in-Time Kompilierung -- PyPy ... 777 34.2 ... Numba ... 778 34.3 ... Anbindung an C und C++ -- Cython ... 781 34.4 ... Die interaktive Python-Shell -- IPython ... 78835. Distribution von Python-Projekten ... 797 35.1 ... Eine Geschichte der Distributionen in Python ... 797 35.2 ... Erstellen von Distributionen -- setuptools ... 799 35.3 ... Erstellen von EXE-Dateien -- cx_Freeze ... 808 35.4 ... Paketmanager ... 810 35.5 ... Virtuelle Umgebungen ... 814 35.6 ... Lokalisierung von Programmen -- gettext ... 81836. Grafische Benutzeroberflächen ... 823 36.1 ... Toolkits ... 823 36.2 ... Einführung in tkinter ... 825 36.3 ... Einführung in PySide2 ... 871 36.4 ... Signale und Slots ... 881 36.5 ... Wichtige Widgets ... 884 36.6 ... Zeichenfunktionalität ... 892 36.7 ... Model-View-Architektur ... 90437. Python als serverseitige Programmiersprache im WWW -- ein Einstieg in Django ... 921 37.1 ... Konzepte und Besonderheiten von Django ... 922 37.2 ... Installation von Django ... 923 37.3 ... Erstellen eines neuen Django-Projekts ... 924 37.4 ... Erstellung einer Applikation ... 92838. Wissenschaftliches Rechnen und Data Science ... 969 38.1 ... Installation ... 970 38.2 ... Das Modellprogramm ... 971 38.3 ... Überblick über die Module numpy und scipy ... 979 38.4 ... Eine Einführung in die Datenanalyse mit pandas ... 99039. Insiderwissen ... 1007 39.1 ... Zuweisungsausdrücke ... 1007 39.2 ... URLs im Standardbrowser öffnen -- webbrowser ... 1009 39.3 ... Interpretieren von Binärdaten -- struct ... 1010 39.4 ... Versteckte Passworteingabe ... 1012 39.5 ... Kommandozeilen-Interpreter ... 1013 39.6 ... Dateiinterface für Strings -- io.StringIO ... 1016 39.7 ... Generatoren als Konsumenten ... 1016 39.8 ... Kopieren von Instanzen -- copy ... 1022 39.9 ... Bildverarbeitung -- Pillow ... 102540. Von Python 2 nach Python 3 ... 1035 40.1 ... Die wichtigsten Unterschiede ... 1038 40.2 ... Automatische Konvertierung ... 1044 40.3 ... Geplante Sprachelemente ... 1047 A. Anhang ... 1049 A.1 ... Reservierte Wörter ... 1049 A.2 ... Operatorrangfolge ... 1049 A.3 ... Eingebaute Funktionen ... 1051 A.4 ... Eingebaute Exceptions ... 1055 A.5 ... Python IDEs ... 1059 Index ... 1063
Johannes Ernesti ist Diplom-Mathematiker und promoviert am Karlsruher Institut für Technologie (KIT) in angewandter Mathematik. Python ist unverzichtbar für seine Arbeit und wichtiger Bestandteil seiner Lehrtätigkeit.
ISBN-13:
9783836279260
Veröffentl:
2020
Erscheinungsdatum:
28.08.2020
Seiten:
1079
Autor:
Johannes Ernesti
Gewicht:
1894 g
Format:
248x181x59 mm
Serie:
Rheinwerk Computing
Sprache:
Deutsch

44,90 €*

Lieferzeit: Sofort lieferbari
Alle Preise inkl. MwSt. | zzgl. Versand
Zu diesem Artikel ist noch keine Rezension vorhanden.
Helfen sie anderen Besuchern und verfassen Sie selbst eine Rezension.