+49 (0) 541 / 40666 200

Sie erreichen uns Montag bis
Freitag von 8 bis 16 Uhr

 

Schreiben Sie uns eine Email oder benutzten eine andere Kontaktmöglichkeit
 Versandkostenfrei in Deutschland
Einkaufskorb
Keine Artikel
in Ihrem
Einkaufskorb

Python 3

Das umfassende Handbuch: Sprachgrundlagen, Objektorientierte Programmierung, Modularisierung (Ausgabe 2020) - 400 - 16929191

Buch von Johannes Ernesti und Peter Kaiser

92929670
Zum Vergrößern anklicken

nur 44,90 €

(portofrei!, inkl. MwSt.)

Widerruf zu diesem Artikel
  • Details
  • Beschreibung
  • Information
  • Information zum Autor
  • Inhaltsverzeichnis
  • Bilder
Details
Artikel-Nr.:
92929670
Im Sortiment seit:
01.09.2020
Erscheinungsdatum:
09/2020
Medium:
Buch
Einband:
Gebunden
Auflage:
6. Auflage von 1920
6. Auflage
Autor:
Ernesti, Johannes
Kaiser, Peter
Verlag:
Rheinwerk Verlag GmbH
Sprache:
Deutsch
Rubrik:
Programmiersprachen
Seiten:
1079
Reihe:
Rheinwerk Computing
Gewicht:
1910 gr
Beschreibung
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


Die Fachpresse zur Vorauflage:

dotnetpro: »Das Handbuch vermittelt einen einfachen und verständlichen Einstieg in die Programmierung mit Python und lässt sich auch gut als Nachschlagewerk verwenden - Bestnote!«
Information
Migration, Debugging, Webentwicklung mit Django, GUIs, Netzwerkkommunikation u.v.m.
Information zum Autor
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.
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 ... 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 ... 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 ... 114

TEIL II Datentypen ... 117

10. Basisdatentypen: eine Übersicht ... 119

10.1 ... Das Nichts -- NoneType ... 120

10.2 ... Operatoren ... 121

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

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

13. Zuordnungen und Mengen ... 211

13.1 ... Dictionary -- dict ... 211

13.2 ... Mengen -- set und frozenset ... 223

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

15. Datum und Zeit ... 247

15.1 ... Elementare Zeitfunktionen -- time ... 247

15.2 ... Objektorientierte Datumsverwaltung -- datetime ... 255

16. Weitere Datentypen ... 267

16.1 ... Aufzählungstypen -- Enum ... 267

16.2 ... Datenklassen ... 271

TEIL III. Fortgeschrittene Programmiertechniken ... 277

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

18. Modularisierung ... 331

18.1 ... Einbinden globaler Module ... 331

18.2 ... Lokale Module ... 334

18.3 ... Pakete ... 337

18.4 ... Das Paket importlib ... 341

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

20. Ausnahmebehandlung ... 403

20.1 ... Exceptions ... 403

20.2 ... Zusicherungen -- assert ... 416

20.3 ... Warnungen ... 417

21. Iteratoren ... 419

21.1 ... Comprehensions ... 419

21.2 ... Generatoren ... 423

21.3 ... Iteratoren ... 430

21.4 ... Spezielle Generatoren -- itertools ... 440

22. Kontextobjekte ... 451

22.1 ... Die with-Anweisung ... 451

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

23. Manipulation von Funktionen und Methoden ... 457

23.1 ... Decorator ... 457

23.2 ... Das Modul functools ... 460

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

TEIL IV Die Standardbibliothek ... 485

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

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

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

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

29. 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? ... 619

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

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

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

33. Dokumentation ... 771

33.1 ... Docstrings ... 771

33.2 ... Automatisches Erstellen einer Dokumentation -- pydoc ... 773

TEIL V Weiterführende Themen ... 775

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

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

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

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

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

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

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