Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.

 
Inhaltsverzeichnis
1 Einleitung
2 Die Programmiersprache Python
Teil I Einstieg in Python
3 Erste Schritte im interaktiven Modus
4 Der Weg zum ersten Programm
5 Kontrollstrukturen
6 Dateien
7 Das Laufzeitmodell
8 Funktionen, Methoden und Attribute
9 Informationsquellen zu Python
Teil II Datentypen
10 Das Nichts – NoneType
11 Operatoren
12 Numerische Datentypen
13 Sequenzielle Datentypen
14 Zuordnungen
15 Mengen
16 Collections
17 Datum und Zeit
18 Aufzählungstypen – Enum
Teil III Fortgeschrittene Programmiertechniken
19 Funktionen
20 Modularisierung
21 Objektorientierung
22 Ausnahmebehandlung
23 Iteratoren
24 Kontextobjekte
25 Manipulation von Funktionen und Methoden
Teil IV Die Standardbibliothek
26 Mathematik
27 Kryptografie
28 Reguläre Ausdrücke
29 Schnittstelle zu Betriebssystem und Laufzeitumgebung
30 Kommandozeilenparameter
31 Dateisystem
32 Parallele Programmierung
33 Datenspeicherung
34 Netzwerkkommunikation
35 Debugging und Qualitätssicherung
36 Dokumentation
Teil V Weiterführende Themen
37 Anbindung an andere Programmiersprachen
38 Distribution von Python-Projekten
39 Grafische Benutzeroberflächen
40 Python als serverseitige Programmiersprache im WWW – ein Einstieg in Django
41 Wissenschaftliches Rechnen
42 Insiderwissen
43 Von Python 2 nach Python 3
A Anhang
Stichwortverzeichnis

Download:
- Beispielprogramme, ca. 464 KB

Jetzt Buch bestellen
Ihre Meinung?

Spacer
 
Python 3 von Johannes Ernesti, Peter Kaiser
Das umfassende Handbuch
Buch: Python 3

Python 3

Entdecken Sie die Möglichkeiten von Python 3! Ob Sie erst anfangen, mit Python zu arbeiten, oder bei Ihrer Arbeit etwas nachschlagen möchten – in diesem Buch, der 5. Auflage unseres Python-Handbuchs, finden Sie alles, was Sie zu Python 3 wissen müssen.
Angefangen mit einer Einführung in Python bietet das Buch eine Sprachreferenz, die Beschreibung der Standardbibliothek und ausführliche Informationen zu professionellen Themen wie GUI-Entwicklung, Webentwicklung, Anbindung an C oder wissenschaftliches Rechnen.
Dabei gehen die Autoren ausführlich auf die wesentlichen Unterschiede zwischen Python 3 und früheren Versionen ein.


 

Die gedruckte Version des Buches erhalten Sie im Rheinwerk-Shop – versandkostenfreie Lieferung nach Deutschland, Österreich und in die Schweiz.
Zum Rheinwerk-Shop

Inhaltsverzeichnis

1   Einleitung

2   Die Programmiersprache Python

2.1   Historie, Konzepte, Einsatzgebiete

2.1.1   Geschichte und Entstehung

2.1.2   Grundlegende Konzepte

2.1.3   Einsatzmöglichkeiten und Stärken

2.1.4   Einsatzbeispiele

2.2   Die Installation von Python

2.2.1   Installation von Anaconda unter Windows

2.2.2   Installation von Anaconda unter Linux

2.2.3   Installation von Anaconda unter macOS

2.3   Die Verwendung von Python

Teil I   Einstieg in Python

3   Erste Schritte im interaktiven Modus

3.1   Ganze Zahlen

3.2   Gleitkommazahlen

3.3   Zeichenketten

3.4   Listen

3.5   Dictionarys

3.6   Variablen

3.7   Logische Ausdrücke

3.8   Funktionen und Methoden

3.8.1   Funktionen

3.8.2   Methoden

3.9   Bildschirmausgaben

4   Der Weg zum ersten Programm

4.1   Tippen, kompilieren, testen

4.1.1   Shebang

4.1.2   Interne Abläufe

4.2   Grundstruktur eines Python-Programms

4.2.1   Umbrechen langer Zeilen

4.2.2   Zusammenfügen mehrerer Zeilen

4.3   Das erste Programm

4.4   Kommentare

4.5   Der Fehlerfall

5   Kontrollstrukturen

5.1   Fallunterscheidungen

5.1.1   Die if-Anweisung

5.1.2   Bedingte Ausdrücke

5.2   Schleifen

5.2.1   Die while-Schleife

5.2.2   Abbruch einer Schleife

5.2.3   Erkennen eines Schleifenabbruchs

5.2.4   Abbruch eines Schleifendurchlaufs

5.2.5   Die for-Schleife

5.2.6   Die for-Schleife als Zählschleife

5.3   Die pass-Anweisung

6   Dateien

6.1   Datenströme

6.2   Daten aus einer Datei auslesen

6.3   Daten in eine Datei schreiben

6.4   Das Dateiobjekt erzeugen

6.4.1   open(filename, [mode, buffering, encoding, errors, newline])

6.4.2   Attribute und Methoden eines Dateiobjekts

6.4.3   Die Schreib-/Leseposition verändern

7   Das Laufzeitmodell

7.1   Die Struktur von Instanzen

7.1.1   Datentyp

7.1.2   Wert

7.1.3   Identität

7.2   Referenzen und Instanzen freigeben

7.3   Mutable vs. immutable Datentypen

7.3.1   Mutable Datentypen und Seiteneffekte

8   Funktionen, Methoden und Attribute

8.1   Parameter von Funktionen und Methoden

8.1.1   Positionsbezogene Parameter

8.1.2   Schlüsselwortparameter

8.1.3   Optionale Parameter

8.1.4   Reine Schlüsselwortparameter

8.2   Attribute

9   Informationsquellen zu Python

9.1   Die Built-in Function help

9.2   Die Onlinedokumentation

9.3   PEPs

Teil II   Datentypen

10   Das Nichts – NoneType

11   Operatoren

12   Numerische Datentypen

12.1   Arithmetische Operatoren

12.2   Vergleichende Operatoren

12.3   Konvertierung zwischen numerischen Datentypen

12.4   Ganzzahlen – int

12.4.1   Zahlensysteme

12.4.2   Bit-Operationen

12.4.3   Methoden

12.5   Gleitkommazahlen – float

12.6   Boolesche Werte – bool

12.6.1   Logische Operatoren

12.6.2   Wahrheitswerte nicht-boolescher Datentypen

12.6.3   Auswertung logischer Operatoren

12.7   Komplexe Zahlen – complex

13   Sequenzielle Datentypen

13.1   Operationen auf Instanzen sequenzieller Datentypen

13.1.1   Ist ein Element vorhanden? – die Operatoren in und not in

13.1.2   Verkettung von Sequenzen – die Operatoren + und +=

13.1.3   Wiederholung von Sequenzen – die Operatoren * und *=

13.1.4   Zugriff auf bestimmte Elemente einer Sequenz – der []-Operator

13.1.5   Länge einer Sequenz – die Built-in Function len

13.1.6   Das kleinste und das größte Element einer Sequenz – min und max

13.1.7   Die Position eines Elements in der Sequenz – s.index(x, [i, j])

13.1.8   Anzahl der Vorkommen eines Elements der Sequenz – s.count(x)

13.2   Listen – list

13.2.1   Verändern eines Wertes innerhalb der Liste – Zuweisung mit []

13.2.2   Ersetzen von Teillisten und Einfügen neuer Elemente – Zuweisung mit []

13.2.3   Elemente und Teillisten löschen – del zusammen mit []

13.2.4   Methoden von list-Instanzen

13.2.5   Weitere Eigenschaften von Listen

13.3   Unveränderliche Listen – tuple

13.3.1   Tuple Packing/Unpacking und Sequence Unpacking

13.3.2   Immutabel heißt nicht zwingend unveränderlich!

13.4   Strings – str, bytes, bytearray

13.4.1   Steuerzeichen

13.4.2   String-Methoden

13.4.3   Formatierung von Strings

13.4.4   Zeichensätze und Sonderzeichen

14   Zuordnungen

14.1   Dictionary – dict

14.1.1   Operatoren

14.1.2   Methoden

15   Mengen

15.1   Die Datentypen set und frozenset

15.1.1   Operatoren

15.1.2   Methoden

15.2   Veränderliche Mengen – set

15.3   Unveränderliche Mengen – frozenset

16   Collections

16.1   Verkettete Dictionarys

16.2   Zählen von Häufigkeiten

16.3   Dictionarys mit Standardwerten

16.4   Doppelt verkettete Listen

16.5   Benannte Tupel

16.6   Sortierte Dictionarys

17   Datum und Zeit

17.1   Elementare Zeitfunktionen – time

17.1.1   Attribute

17.1.2   Funktionen

17.2   Objektorientierte Datumsverwaltung – datetime

17.2.1   datetime.date

17.2.2   datetime.time

17.2.3   datetime.datetime

17.2.4   datetime.timedelta

17.2.5   Operationen für datetime.datetime und datetime.date

17.2.6   Bemerkung zum Umgang mit Zeitzonen

18   Aufzählungstypen – Enum

18.1   Aufzählungstyp für Bitmuster – Flag

18.2   Ganzzahlige Aufzählungstypen – IntEnum

Teil III   Fortgeschrittene Programmiertechniken

19   Funktionen

19.1   Schreiben einer Funktion

19.2   Funktionsobjekte

19.3   Funktionsparameter

19.3.1   Optionale Parameter

19.3.2   Schlüsselwortparameter

19.3.3   Beliebige Anzahl von Parametern

19.3.4   Reine Schlüsselwortparameter

19.3.5   Entpacken einer Parameterliste

19.3.6   Seiteneffekte

19.4   Namensräume

19.4.1   Zugriff auf globale Variablen – global

19.4.2   Zugriff auf den globalen Namensraum

19.4.3   Lokale Funktionen

19.4.4   Zugriff auf übergeordnete Namensräume – nonlocal

19.5   Anonyme Funktionen

19.6   Annotationen

19.7   Rekursion

19.8   Eingebaute Funktionen

19.8.1   abs(x)

19.8.2   all(iterable)

19.8.3   any(iterable)

19.8.4   ascii(object)

19.8.5   bin(x)

19.8.6   bool([x])

19.8.7   bytearray([source, encoding, errors])

19.8.8   bytes([source, encoding, errors])

19.8.9   chr(i)

19.8.10   complex([real, imag])

19.8.11   dict([source])

19.8.12   divmod(a, b)

19.8.13   enumerate(iterable)

19.8.14   eval(expression, [globals, locals])

19.8.15   exec(object, [globals, locals])

19.8.16   filter(function, iterable)

19.8.17   float([x])

19.8.18   format(value, [format_spec])

19.8.19   frozenset([iterable])

19.8.20   globals()

19.8.21   hash(object)

19.8.22   help([object])

19.8.23   hex(x)

19.8.24   id(object)

19.8.25   input([prompt])

19.8.26   int([x, base])

19.8.27   len(s)

19.8.28   list([sequence])

19.8.29   locals()

19.8.30   map(function, [*iterable])

19.8.31   max(iterable, {default, key}), max(arg1, arg2, [*args], {key})

19.8.32   min(iterable, {default, key}), min(arg1, arg2, [*args], {key})

19.8.33   oct(x)

19.8.34   ord(c)

19.8.35   pow(x, y, [z])

19.8.36   print([*objects], {sep, end, file, flush})

19.8.37   range([start], stop, [step])

19.8.38   repr(object)

19.8.39   reversed(sequence)

19.8.40   round(x, [n])

19.8.41   set([iterable])

19.8.42   sorted(iterable, [key, reverse])

19.8.43   str([object, encoding, errors])

19.8.44   sum(iterable, [start])

19.8.45   tuple([iterable])

19.8.46   type(object)

19.8.47   zip([*iterables])

20   Modularisierung

20.1   Einbinden globaler Module

20.2   Lokale Module

20.2.1   Namenskonflikte

20.2.2   Modulinterne Referenzen

20.2.3   Module ausführen

20.3   Pakete

20.3.1   Importieren aller Module eines Pakets

20.3.2   Namespace Packages

20.3.3   Relative Import-Anweisungen

20.4   Das Paket importlib

20.4.1   Einbinden von Modulen und Paketen

20.4.2   Verändern des Import-Verhaltens

21   Objektorientierung

21.1   Klassen

21.1.1   Definieren von Methoden

21.1.2   Der Konstruktor und die Erzeugung von Attributen

21.2   Vererbung

21.2.1   Technische Grundlagen

21.2.2   Die Klasse GirokontoMitTagesumsatz

21.2.3   Mögliche Erweiterungen der Klasse Konto

21.2.4   Ausblick

21.2.5   Mehrfachvererbung

21.3   Setter und Getter und Property Attributes

21.3.1   Setter und Getter

21.3.2   Property-Attribute

21.4   Klassenattribute und Klassenmethoden sowie statische Methoden

21.4.1   Statische Methoden

21.4.2   Klassenmethoden

21.4.3   Klassenattribute

21.5   Built-in Functions für Objektorientierung

21.5.1   Funktionen für die Verwaltung der Attribute einer Instanz

21.5.2   Funktionen für Informationen über die Klassenhierarchie

21.6   Objektphilosophie

21.7   Magic Methods und Magic Attributes

21.7.1   Allgemeine Magic Methods

21.7.2   Operatoren überladen

21.7.3   Datentypen emulieren

22   Ausnahmebehandlung

22.1   Exceptions

22.1.1   Eingebaute Exceptions

22.1.2   Werfen einer Exception

22.1.3   Abfangen einer Exception

22.1.4   Eigene Exceptions

22.1.5   Erneutes Werfen einer Exception

22.1.6   Exception Chaining

22.2   Zusicherungen – assert

23   Iteratoren

23.1   Comprehensions

23.1.1   List Comprehensions

23.1.2   Dict Comprehensions

23.1.3   Set Comprehensions

23.2   Generatoren

23.2.1   Subgeneratoren

23.2.2   Generator Expressions

23.3   Iteratoren

23.3.1   Verwendung von Iteratoren

23.3.2   Mehrere Iteratoren für dieselbe Instanz

23.3.3   Nachteile von Iteratoren gegenüber dem direkten Zugriff über Indizes

23.3.4   Alternative Definition für iterierbare Objekte

23.3.5   Funktionsiteratoren

23.4   Spezielle Generatoren – itertools

23.4.1   accumulate(iterable, [func])

23.4.2   chain([*iterables])

23.4.3   combinations(iterable, r)

23.4.4   combinations_with_replacement(iterable, r)

23.4.5   compress(data, selectors)

23.4.6   count([start, step])

23.4.7   cycle(iterable)

23.4.8   dropwhile(predicate, iterable)

23.4.9   filterfalse(predicate, iterable)

23.4.10   groupby(iterable, [key])

23.4.11   islice(iterable, [start], stop, [step])

23.4.12   permutations(iterable, [r])

23.4.13   product([*iterables], [repeat])

23.4.14   repeat(object, [times])

23.4.15   starmap(function, iterable)

23.4.16   takewhile(predicate, iterable)

23.4.17   tee(iterable, [n])

23.4.18   zip_longest([*iterables], [fillvalue])

24   Kontextobjekte

24.1   Die with-Anweisung

24.2   Hilfsfunktionen für with-Kontexte – contextlib

24.2.1   Einfache Funktionen als Kontext-Manager

24.2.2   Bestimmte Exception-Typen unterdrücken

24.2.3   Den Standard-Ausgabestrom umleiten

25   Manipulation von Funktionen und Methoden

25.1   Decorator

25.2   Das Modul functools

25.2.1   Funktionsschnittstellen vereinfachen

25.2.2   Methodenschnittstellen vereinfachen

25.2.3   Caches

25.2.4   Ordnungsrelationen vervollständigen

25.2.5   Überladen von Funktionen

Teil IV   Die Standardbibliothek

26   Mathematik

26.1   Mathematische Funktionen – math, cmath

26.1.1   Zahlentheoretische Funktionen

26.1.2   Exponential- und Logarithmusfunktionen

26.1.3   Trigonometrische und hyperbolische Funktionen

26.1.4   Umrechnen von Winkeln

26.1.5   Darstellungsformen komplexer Zahlen

26.2   Zufallszahlengenerator – random

26.2.1   Den Status speichern und laden

26.2.2   Zufällige ganze Zahlen erzeugen

26.2.3   Zufällige Gleitkommazahlen erzeugen

26.2.4   Zufallsgesteuerte Operationen auf Sequenzen

26.2.5   SystemRandom([seed])

26.3   Präzise Dezimalzahlen – decimal

26.3.1   Verwendung des Datentyps

26.3.2   Nichtnumerische Werte

26.3.3   Das Context-Objekt

27   Kryptografie

27.1   Hash-Funktionen – hashlib

27.1.1   Verwendung des Moduls

27.1.2   Weitere Algorithmen

27.1.3   Vergleich großer Dateien

27.1.4   Passwörter

27.2   Verschlüsselung – PyCrypto

27.2.1   Symmetrische Verschlüsselungsverfahren

27.2.2   Asymmetrische Verschlüsselungsverfahren

28   Reguläre Ausdrücke

28.1   Syntax regulärer Ausdrücke

28.1.1   Beliebige Zeichen

28.1.2   Zeichenklassen

28.1.3   Quantoren

28.1.4   Vordefinierte Zeichenklassen

28.1.5   Weitere Sonderzeichen

28.1.6   Genügsame Quantoren

28.1.7   Gruppen

28.1.8   Alternativen

28.1.9   Extensions

28.2   Verwendung des Moduls

28.2.1   Searching

28.2.2   Matching

28.2.3   Einen String aufspalten

28.2.4   Teile eines Strings ersetzen

28.2.5   Problematische Zeichen ersetzen

28.2.6   Einen regulären Ausdruck kompilieren

28.2.7   Flags

28.2.8   Das Match-Objekt

28.3   Ein einfaches Beispielprogramm – Searching

28.4   Ein komplexeres Beispielprogramm – Matching

29   Schnittstelle zu Betriebssystem und Laufzeitumgebung

29.1   Funktionen des Betriebssystems – os

29.1.1   environ

29.1.2   getpid()

29.1.3   cpu_count()

29.1.4   system(cmd)

29.1.5   popen(command, [mode, buffering])

29.2   Zugriff auf die Laufzeitumgebung – sys

29.2.1   Kommandozeilenparameter

29.2.2   Standardpfade

29.2.3   Standard-Ein-/Ausgabeströme

29.2.4   Das Programm beenden

29.2.5   Details zur Python-Version

29.2.6   Details zum Betriebssystem

29.2.7   Hooks

30   Kommandozeilenparameter

30.1   Taschenrechner – ein einfaches Beispiel

30.2   Ein weiteres Beispiel

31   Dateisystem

31.1   Zugriff auf das Dateisystem mit os

31.2   Dateipfade – os.path

31.3   Zugriff auf das Dateisystem – shutil

31.3.1   Verzeichnis- und Dateioperationen

31.3.2   Archivoperationen

31.4   Temporäre Dateien – tempfile

32   Parallele Programmierung

32.1   Prozesse, Multitasking und Threads

32.1.1   Die Leichtgewichte unter den Prozessen – Threads

32.1.2   Threads oder Prozesse?

32.2   Pythons Schnittstellen zur Parallelisierung

32.3   Parallelisierung von Funktionsaufrufen

32.3.1   Ein Beispiel mit einem futures.ThreadPoolExecutor

32.3.2   Executor-Instanzen als Kontext-Manager

32.3.3   Die Verwendung von futures.ProcessPoolExecutor

32.3.4   Die Verwaltung der Aufgaben eines Executors

32.4   Die Module threading und multiprocessing

32.5   Die Thread-Unterstützung in Python

32.5.1   Kritische Bereiche mit Lock-Objekten absichern

32.5.2   Datenaustausch zwischen Threads mit Critical Sections

32.5.3   Gefahren von Critical Sections – Deadlocks

32.6   Einblick in das Modul multiprocessing

32.7   Ausblick

33   Datenspeicherung

33.1   Komprimierte Dateien lesen und schreiben – gzip

33.2   XML

33.2.1   ElementTree

33.2.2   SAX – Simple API for XML

33.3   Datenbanken

33.3.1   Pythons eingebaute Datenbank – sqlite3

33.4   Serialisierung von Instanzen – pickle

33.4.1   Funktionale Schnittstelle

33.4.2   Objektorientierte Schnittstelle

33.5   Das Datenaustauschformat JSON – json

33.6   Das Tabellenformat CSV – csv

33.6.1   reader-Objekte – Daten aus einer CSV-Datei lesen

33.6.2   Dialect-Objekte – eigene Dialekte verwenden

34   Netzwerkkommunikation

34.1   Socket API

34.1.1   Client-Server-Systeme

34.1.2   UDP

34.1.3   TCP

34.1.4   Blockierende und nicht-blockierende Sockets

34.1.5   Erzeugen eines Sockets

34.1.6   Die Socket-Klasse

34.1.7   Netzwerk-Byte-Order

34.1.8   Multiplexende Server – selectors

34.1.9   Objektorientierte Serverentwicklung – socketserver

34.2   URLs – urllib

34.2.1   Zugriff auf entfernte Ressourcen – urllib.request

34.2.2   Einlesen und Verarbeiten von URLs – urllib.parse

34.3   FTP – ftplib

34.3.1   Mit einem FTP-Server verbinden

34.3.2   FTP-Kommandos ausführen

34.3.3   Mit Dateien und Verzeichnissen arbeiten

34.3.4   Übertragen von Dateien

34.4   E‐Mail

34.4.1   SMTP – smtplib

34.4.2   POP3 – poplib

34.4.3   IMAP4 – imaplib

34.4.4   Erstellen komplexer E‐Mails – email

34.5   Telnet – telnetlib

34.5.1   Die Klasse Telnet

34.5.2   Beispiel

34.6   XML-RPC

34.6.1   Der Server

34.6.2   Der Client

34.6.3   Multicall

34.6.4   Einschränkungen

35   Debugging und Qualitätssicherung

35.1   Der Debugger

35.2   Formatierte Bildschirmausgabe – pprint

35.3   Logdateien – logging

35.3.1   Das Meldungsformat anpassen

35.3.2   Logging Handler

35.4   Automatisiertes Testen

35.4.1   Testfälle in Docstrings – doctest

35.4.2   Unit Tests – unittest

35.5   Analyse des Laufzeitverhaltens

35.5.1   Laufzeitmessung – timeit

35.5.2   Profiling – cProfile

35.5.3   Tracing – trace

35.6   Optimierung

35.6.1   Die Optimize-Option

35.6.2   Mutabel vs. immutabel

35.6.3   Schleifen

35.6.4   Funktionsaufrufe

35.6.5   C

35.6.6   Lookups

35.6.7   Exceptions

35.6.8   Keyword Arguments

35.6.9   Alternative Interpreter: PyPy

36   Dokumentation

36.1   Docstrings

36.2   Automatisches Erstellen einer Dokumentation – pydoc

Teil V   Weiterführende Themen

37   Anbindung an andere Programmiersprachen

37.1   Dynamisch ladbare Bibliotheken – ctypes

37.1.1   Ein einfaches Beispiel

37.1.2   Die eigene Bibliothek

37.1.3   Datentypen

37.1.4   Schnittstellenbeschreibung

37.1.5   Pointer

37.1.6   Strings

37.2   Schreiben von Extensions

37.2.1   Ein einfaches Beispiel

37.2.2   Exceptions

37.2.3   Erzeugen der Extension

37.2.4   Reference Counting

37.3   Python als eingebettete Skriptsprache

37.3.1   Ein einfaches Beispiel

37.3.2   Ein komplexeres Beispiel

37.4   Alternative Interpreter

37.4.1   Interoperabilität mit der Java Runtime Environment – Jython

37.4.2   Interoperabilität mit .NET – IronPython

38   Distribution von Python-Projekten

38.1   Eine Geschichte der Distributionen in Python

38.1.1   Der klassische Ansatz – distutils

38.1.2   Der neue Standard – setuptools

38.1.3   Der Paketindex – PyPI und pip

38.2   Erstellen von Distributionen – setuptools

38.2.1   Schreiben des Moduls

38.2.2   Das Installationsskript

38.2.3   Erstellen einer Quellcodedistribution

38.2.4   Erstellen einer Binärdistribution

38.2.5   Distributionen installieren

38.2.6   Eigenständige Distributionen erstellen

38.2.7   Erstellen von EXE-Dateien – cx_Freeze

38.3   Der Python-Paketmanager – pip

38.4   Der Paketmanager conda

38.5   Lokalisierung von Programmen – gettext

38.5.1   Beispiel für die Verwendung von gettext

38.5.2   Erstellen des Sprachkompilats

39   Grafische Benutzeroberflächen

39.1   Toolkits

39.2   Einführung in tkinter

39.2.1   Ein einfaches Beispiel

39.2.2   Steuerelementvariablen

39.2.3   Der Packer

39.2.4   Events

39.2.5   Steuerelemente

39.2.6   Zeichnungen – das Canvas-Widget

39.2.7   Weitere Module

39.3   Einführung in PyQt

39.3.1   Installation

39.3.2   Grundlegende Konzepte von Qt

39.3.3   Entwicklungsprozess

39.4   Signale und Slots

39.5   Wichtige Widgets

39.5.1   QCheckBox

39.5.2   QComboBox

39.5.3   QDateEdit, QTimeEdit, QDateTimeEdit

39.5.4   QDialog

39.5.5   QLineEdit

39.5.6   QListWidget, QListView

39.5.7   QProgressBar

39.5.8   QPushButton

39.5.9   QRadioButton

39.5.10   QSlider, QDial

39.5.11   QTextEdit

39.5.12   QWidget

39.6   Zeichenfunktionalität

39.6.1   Werkzeuge

39.6.2   Koordinatensystem

39.6.3   Einfache Formen

39.6.4   Grafiken

39.6.5   Text

39.6.6   Eye Candy

39.7   Model-View-Architektur

39.7.1   Beispielprojekt: ein Adressbuch

39.7.2   Auswählen von Einträgen

39.7.3   Bearbeiten von Einträgen

40   Python als serverseitige Programmiersprache im WWW – ein Einstieg in Django

40.1   Konzepte und Besonderheiten von Django

40.2   Installation von Django

40.2.1   Installation mit Anaconda

40.2.2   Für Leser, die Anaconda nicht verwenden

40.3   Erstellen eines neuen Django-Projekts

40.3.1   Der Entwicklungswebserver

40.3.2   Konfiguration des Projekts

40.4   Erstellung einer Applikation

40.4.1   Die Applikation in das Projekt einbinden

40.4.2   Ein Model definieren

40.4.3   Beziehungen zwischen Modellen

40.4.4   Übertragung des Modells in die Datenbank

40.4.5   Das Model-API

40.4.6   Unser Projekt bekommt ein Gesicht

40.4.7   Djangos Template-System

40.4.8   Verarbeitung von Formulardaten

40.4.9   Djangos Administrationsoberfläche

41   Wissenschaftliches Rechnen

41.1   Installation

41.2   Das Modellprogramm

41.2.1   Der Import von numpy, scipy und matplotlib

41.2.2   Vektorisierung und der Datentyp numpy.ndarray

41.2.3   Visualisieren von Daten mit matplotlib.pyplot

41.3   Überblick über die Module numpy und scipy

41.3.1   Überblick über den Datentyp numpy.ndarray

41.3.2   Überblick über scipy

42   Insiderwissen

42.1   URLs im Standardbrowser öffnen – webbrowser

42.2   Interpretieren von Binärdaten – struct

42.3   Versteckte Passworteingabe

42.4   Kommandozeilen-Interpreter

42.5   Dateiinterface für Strings – io.StringIO

42.6   Generatoren als Konsumenten

42.6.1   Ein Decorator für konsumierende Generatorfunktionen

42.6.2   Auslösen von Exceptions in einem Generator

42.6.3   Eine Pipeline als Verkettung konsumierender Generatorfunktionen

42.7   Kopieren von Instanzen – copy

42.8   Die interaktive Python-Shell – IPython

42.8.1   Die interaktive Shell

42.9   Das Jupyter Notebook

42.10   Bildverarbeitung – Pillow

42.10.1   Bilddateien laden und speichern

42.10.2   Zugriff auf einzelne Pixel

42.10.3   Teilbereiche eines Bildes ausschneiden

42.10.4   Bilder zusammenfügen

42.10.5   Geometrische Bildtransformationen

42.10.6   Vordefinierte Bildfilter

42.10.7   Eigene Pixeloperationen

42.10.8   Bildverbesserungen

42.10.9   Zeichenoperationen

42.10.10   Interoperabilität

43   Von Python 2 nach Python 3

43.1   Die wichtigsten Unterschiede

43.1.1   Ein-/Ausgabe

43.1.2   Iteratoren

43.1.3   Strings

43.1.4   Ganze Zahlen

43.1.5   Exception Handling

43.1.6   Standardbibliothek

43.1.7   Neue Sprachelemente in Python 3

43.2   Automatische Konvertierung

43.3   Geplante Sprachelemente

A   Anhang

A.1   Reservierte Wörter

A.2   Eingebaute Funktionen

A.3   Eingebaute Exceptions

A.4   Python IDEs

A.4.1   Eclipse PyDev

A.4.2   Eric IDE

A.4.3   Komodo IDE

A.4.4   PyCharm

A.4.5   Python Tools for Visual Studio

A.4.6   Spyder

A.4.7   Wing IDE

Stichwortverzeichnis

Über die Autoren

 


Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de

 
 Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Python 3 Python 3
Buch Jetzt Buch bestellen

 Buchempfehlungen
Zum Rheinwerk-Shop: Einstieg in Python
Einstieg in Python


Zum Rheinwerk-Shop: Python. Der Grundkurs
Python. Der Grundkurs


Zum Rheinwerk-Shop: Algorithmen mit Python
Algorithmen mit Python


Zum Rheinwerk-Shop: Objektorientierte Programmierung
Objektorientierte Programmierung


Zum Rheinwerk-Shop: Raspberry Pi. Das umfassende Handbuch
Raspberry Pi. Das umfassende Handbuch


Zum Rheinwerk-Shop: Roboter-Autos mit dem Raspberry Pi
Roboter-Autos mit dem Raspberry Pi


Zum Rheinwerk-Shop: Neuronale Netze programmieren mit Python
Neuronale Netze programmieren mit Python


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo

 
 


Copyright © Rheinwerk Verlag GmbH 2020.
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Für jedes Openbook gelten dieselben rechtlichen Bestimmungen wie für die entsprechende Druckausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

 
[Rheinwerk Computing]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern