Sold out

Python 3 - Das umfassende Handbuch. Einstieg, Praxis, Referenz. Sprachgrundlagen, Objektorientierung, Modularisierung. Migration, Debugging, Interoperabilität mit Django, GUIs, Netzwerkkommunikation u. v. m.

German · Hardback

Description

Read more

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

List of contents


  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

About the author

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

Summary

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

Additional text

»Ein wunderbares Handbuch zu einer tollen Programmiersprache. Genau so stelle ich mir ein Buch über Python vor«

Report

»Das Handbuch vermittelt einen einfachen und verständlichen Einstieg in die Programmierung mit Python und lässt sich auch gut als Nachschlagewerk verwenden - Bestnote!« dotnetpro 201904

Product details

Authors Johanne Ernesti, Johannes Ernesti, Peter Kaiser
Publisher Rheinwerk Verlag
 
Languages German
Product format Hardback
Released 10.11.2017
 
EAN 9783836258647
ISBN 978-3-8362-5864-7
No. of pages 1040
Dimensions 175 mm x 246 mm x 55 mm
Weight 1809 g
Illustrations m. Abb. u. Tab.
Series Rheinwerk Computing
Rheinwerk Computing
Subjects Natural sciences, medicine, IT, technology > IT, data processing > Programming languages

Software, windows, Referenz, raspberry pi, OOP, Development, skriptsprache, Web-Entwicklung, IDE, Script, Rheinwerk-Verlag Computing, Django, Programmieren Programmierung, Crash-Course, PyQt

Customer reviews

No reviews have been written for this item yet. Write the first review and be helpful to other users when they decide on a purchase.

Write a review

Thumbs up or thumbs down? Write your own review.

For messages to CeDe.ch please use the contact form.

The input fields marked * are obligatory

By submitting this form you agree to our data privacy statement.