Python 3

Python 3
Das umfassende Handbuch. Einstieg, Praxis, Referenz. Sprachgrundlagen, Objektorientierung, Modularisierung. Migration, Debugging, Interoperabilität mit Django, GUIs, Netzwerkkommunikation u. v. m.
Nicht lieferbar | Lieferzeit: Nicht lieferbar I

44,90 €*

Alle Preise inkl. MwSt. | Versandkostenfrei
Artikel-Nr:
9783836258647
Veröffentl:
2017
Seiten:
1040
Autor:
Johannes Ernesti
Gewicht:
1809 g
Format:
246x175x55 mm
Serie:
Rheinwerk Computing
Sprache:
Deutsch
Beschreibung:

Ernesti, Johannes
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.
Kaiser, Peter
Peter Kaiser ist Diplom-Informatiker und promoviert am Karlsruher Institut für Technologie (KIT) in humanoider Robotik. Die Programmiersprache Python ist ein wichtiges Hilfsmittel für seine wissenschaftliche Arbeit.

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. Angefangen mit einer Einführung in die Sprache bietet es eine Sprachreferenz, die Beschreibung der Standardbibliothek und ausführliche Informationen zu professionellen Themen wie GUI-Entwicklung, Anbindung an C oder wissenschaftliches Rechnen. Dabei wird ausführlich auf die wesentlichen Unterschiede zwischen Python 3 und früheren Versionen eingegangen. Wenn Sie bisher noch mit Python 2.x arbeiten, helfen Ihnen die Autoren bei der Migration Ihrer bestehenden Projekte.



Aus dem Inhalt:



  • Einführung in Python

  • Sprachgrundlagen

  • Modularisierung

  • Objektorientierung

  • Mathematische Module

  • Reguläre Ausdrücke

  • Datums- und Zeitfunktionen

  • Schnittstellen zum Betriebssystem

  • Thread-Programmierung

  • Datenspeicherung

  • Netzwerkkommunikation

  • Fehlerbehandlung

  • Distribution von Python-Projekten

  • Programmoptimierung

  • Webentwicklung mit Django

  • GUI-Programmierung

  • Wissenschaftliches Rechnen

  • Anbindung an C

  • Migration von Python 2.x auf 3

Migration, Debugging, Webentwicklung mit Django, GUIs, Netzwerkkommunikation u.v.m.


  1.  Einleitung ... 27


  2.  Die Programmiersprache Python ... 35


       2.1 ... Historie, Konzepte, Einsatzgebiete ... 35

       2.2 ... Die Installation von Python ... 38

       2.3 ... Die Verwendung von Python ... 41




TEIL 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 ... 49

       3.5 ... Dictionarys ... 49

       3.6 ... Variablen ... 50

       3.7 ... Logische Ausdrücke ... 52

       3.8 ... Funktionen und Methoden ... 54

       3.9 ... Bildschirmausgaben ... 56



  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 ... 114




TEIL II  Datentypen ... 117



10.  Das Nichts -- NoneType ... 119


11.  Operatoren ... 121


12.  Numerische Datentypen ... 125


       12.1 ... Arithmetische Operatoren ... 125

       12.2 ... Vergleichende Operatoren ... 127

       12.3 ... Konvertierung zwischen numerischen Datentypen ... 128

       12.4 ... Ganzzahlen -- int ... 129

       12.5 ... Gleitkommazahlen -- float ... 135

       12.6 ... Boolesche Werte -- bool ... 137

       12.7 ... Komplexe Zahlen -- complex ... 143



13.  Sequenzielle Datentypen ... 147


       13.1 ... Operationen auf Instanzen sequenzieller Datentypen ... 148

       13.2 ... Listen -- list ... 159

       13.3 ... Unveränderliche Listen -- tuple ... 171

       13.4 ... Strings -- str, bytes, bytearray ... 174



14.  Zuordnungen ... 207


       14.1 ... Dictionary -- dict ... 207



15.  Mengen ... 219


       15.1 ... Die Datentypen set und frozenset ... 219

       15.2 ... Veränderliche Mengen -- set ... 227

       15.3 ... Unveränderliche Mengen -- frozenset ... 229



16.  Collections ... 231


       16.1 ... Verkettete Dictionarys ... 231

       16.2 ... Zählen von Häufigkeiten ... 232

       16.3 ... Dictionarys mit Standardwerten ... 235

       16.4 ... Doppelt verkettete Listen ... 235

       16.5 ... Benannte Tupel ... 237

       16.6 ... Sortierte Dictionarys ... 239



17.  Datum und Zeit ... 241


       17.1 ... Elementare Zeitfunktionen -- time ... 241

       17.2 ... Objektorientierte Datumsverwaltung -- datetime ... 249



18.  Aufzählungstypen -- Enum ... 261


       18.1 ... Aufzählungstyp für Bitmuster -- Flag ... 263

       18.2 ... Ganzzahlige Aufzählungstypen -- IntEnum ... 264




TEIL III  Fortgeschrittene Programmiertechniken ... 265



19.  Funktionen ... 267


       19.1 ... Schreiben einer Funktion ... 269

       19.2 ... Funktionsobjekte ... 272

       19.3 ... Funktionsparameter ... 273

       19.4 ... Namensräume ... 283

       19.5 ... Anonyme Funktionen ... 288

       19.6 ... Annotationen ... 289

       19.7 ... Rekursion ... 291

       19.8 ... Eingebaute Funktionen ... 291



20.  Modularisierung ... 317


       20.1 ... Einbinden globaler Module ... 317

       20.2 ... Lokale Module ... 320

       20.3 ... Pakete ... 323

       20.4 ... Das Paket importlib ... 327



21.  Objektorientierung ... 333


       21.1 ... Klassen ... 338

       21.2 ... Vererbung ... 343

       21.3 ... Setter und Getter und Property Attributes ... 358

       21.4 ... Klassenattribute und Klassenmethoden sowie statische Methoden ... 360

       21.5 ... Built-in Functions für Objektorientierung ... 363

       21.6 ... Objektphilosophie ... 367

       21.7 ... Magic Methods und Magic Attributes ... 369



22.  Ausnahmebehandlung ... 389


       22.1 ... Exceptions ... 389

       22.2 ... Zusicherungen -- assert ... 402



23.  Iteratoren ... 403


       23.1 ... Comprehensions ... 403

       23.2 ... Generatoren ... 407

       23.3 ... Iteratoren ... 414

       23.4 ... Spezielle Generatoren -- itertools ... 424



24.  Kontextobjekte ... 435


       24.1 ... Die with-Anweisung ... 435

       24.2 ... Hilfsfunktionen für with-Kontexte -- contextlib ... 438



25.  Manipulation von Funktionen und Methoden ... 441


       25.1 ... Decorator ... 441

       25.2 ... Das Modul functools ... 444




TEIL IV  Die Standardbibliothek ... 453



26.  Mathematik ... 455


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

       26.2 ... Zufallszahlengenerator -- random ... 460

       26.3 ... Präzise Dezimalzahlen -- decimal ... 464



27.  Kryptografie ... 471


       27.1 ... Hash-Funktionen -- hashlib ... 471

       27.2 ... Verschlüsselung -- PyCrypto ... 476



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


       28.1 ... Syntax regulärer Ausdrücke ... 485

       28.2 ... Verwendung des Moduls ... 496

       28.3 ... Ein einfaches Beispielprogramm -- Searching ... 503

       28.4 ... Ein komplexeres Beispielprogramm -- Matching ... 504



29.  Schnittstelle zu Betriebssystem und Laufzeitumgebung ... 509


       29.1 ... Funktionen des Betriebssystems -- os ... 509

       29.2 ... Zugriff auf die Laufzeitumgebung -- sys ... 512



30.  Kommandozeilenparameter ... 519


       30.1 ... Taschenrechner -- ein einfaches Beispiel ... 520

       30.2 ... Ein weiteres Beispiel ... 524



31.  Dateisystem ... 527


       31.1 ... Zugriff auf das Dateisystem mit os ... 527

       31.2 ... Dateipfade -- os.path ... 534

       31.3 ... Zugriff auf das Dateisystem -- shutil ... 538

       31.4 ... Temporäre Dateien -- tempfile ... 544



32.  Parallele Programmierung ... 547


       32.1 ... Prozesse, Multitasking und Threads ... 547

       32.2 ... Pythons Schnittstellen zur Parallelisierung ... 550

       32.3 ... Parallelisierung von Funktionsaufrufen ... 551

       32.4 ... Die Module threading und multiprocessing ... 562

       32.5 ... Die Thread-Unterstützung in Python ... 563

       32.6 ... Einblick in das Modul multiprocessing ... 572

       32.7 ... Ausblick ... 574



33.  Datenspeicherung ... 575


       33.1 ... Komprimierte Dateien lesen und schreiben -- gzip ... 575

       33.2 ... XML ... 577

       33.3 ... Datenbanken ... 590

       33.4 ... Serialisierung von Instanzen -- pickle ... 611

       33.5 ... Das Datenaustauschformat JSON -- json ... 614

       33.6 ... Das Tabellenformat CSV -- csv ... 615



34.  Netzwerkkommunikation ... 623


       34.1 ... Socket API ... 624

       34.2 ... URLs -- urllib ... 643

       34.3 ... FTP -- ftplib ... 652

       34.4 ... EMail ... 659

       34.5 ... Telnet -- telnetlib ... 677

       34.6 ... XML-RPC ... 680



35.  Debugging und Qualitätssicherung ... 691


       35.1 ... Der Debugger ... 691

       35.2 ... Formatierte Bildschirmausgabe -- pprint ... 694

       35.3 ... Logdateien -- logging ... 696

       35.4 ... Automatisiertes Testen ... 702

       35.5 ... Analyse des Laufzeitverhaltens ... 710

       35.6 ... Optimierung ... 720



36.  Dokumentation ... 727


       36.1 ... Docstrings ... 727

       36.2 ... Automatisches Erstellen einer Dokumentation -- pydoc ... 729




TEIL V  Weiterführende Themen ... 731



37.  Anbindung an andere Programmiersprachen ... 733


       37.1 ... Dynamisch ladbare Bibliotheken -- ctypes ... 734

       37.2 ... Schreiben von Extensions ... 742

       37.3 ... Python als eingebettete Skriptsprache ... 752

       37.4 ... Alternative Interpreter ... 757



38.  Distribution von Python-Projekten ... 769


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

       38.2 ... Erstellen von Distributionen -- setuptools ... 771

       38.3 ... Der Python-Paketmanager -- pip ... 782

       38.4 ... Der Paketmanager conda ... 783

       38.5 ... Lokalisierung von Programmen -- gettext ... 786



39.  Grafische Benutzeroberflächen ... 791


       39.1 ... Toolkits ... 791

       39.2 ... Einführung in tkinter ... 794

       39.3 ... Einführung in PyQt ... 839

       39.4 ... Signale und Slots ... 849

       39.5 ... Wichtige Widgets ... 853

       39.6 ... Zeichenfunktionalität ... 860

       39.7 ... Model-View-Architektur ... 872



40.  Python als serverseitige Programmiersprache im WWW -- ein Einstieg in Django ... 889


       40.1 ... Konzepte und Besonderheiten von Django ... 890

       40.2 ... Installation von Django ... 891

       40.3 ... Erstellen eines neuen Django-Projekts ... 894

       40.4 ... Erstellung einer Applikation ... 898



41.  Wissenschaftliches Rechnen ... 939


       41.1 ... Installation ... 940

       41.2 ... Das Modellprogramm ... 941

       41.3 ... Überblick über die Module numpy und scipy ... 949



42.  Insiderwissen ... 961


       42.1 ... URLs im Standardbrowser öffnen -- webbrowser ... 961

       42.2 ... Interpretieren von Binärdaten -- struct ... 961

       42.3 ... Versteckte Passworteingabe ... 964

       42.4 ... Kommandozeilen-Interpreter ... 965

       42.5 ... Dateiinterface für Strings -- io.StringIO ... 967

       42.6 ... Generatoren als Konsumenten ... 968

       42.7 ... Kopieren von Instanzen -- copy ... 973

       42.8 ... Die interaktive Python-Shell -- IPython ... 977

       42.9 ... Das Jupyter Notebook ... 980

       42.10 ... Bildverarbeitung -- Pillow ... 983



43.  Von Python 2 nach Python 3 ... 995


       43.1 ... Die wichtigsten Unterschiede ... 998

       43.2 ... Automatische Konvertierung ... 1004

       43.3 ... Geplante Sprachelemente ... 1007



  A.  Anhang ... 1009


       A.1 ... Reservierte Wörter ... 1009

       A.2 ... Eingebaute Funktionen ... 1009

       A.3 ... Eingebaute Exceptions ... 1013

       A.4 ... Python IDEs ... 1017



  Index ... 1025

Kunden Rezensionen

Zu diesem Artikel ist noch keine Rezension vorhanden.
Helfen sie anderen Besuchern und verfassen Sie selbst eine Rezension.