Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Liebe Leser!
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
Rechtliche Hinweise
Über den Autor
← Prev
Back
Next →
← Prev
Back
Next →