Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover
Weitere empfehlenswerte Titel
Titelseite
Impressum
Vorwort
Inhaltsverzeichnis
Teil I: Die Programmiersprache Python
1 Einleitung
1.1 Konventionen in diesem Text
1.2 Programmieren
1.3 Der Python-Interpreter
1.4 Kommentare
1.5 Einrückung und Leerzeichen
1.6 Fehlermeldungen
1.7 Nichts tun: pass
1.8 Eingebaute Funktionen
1.9 Funktionen nachladen: import
1.10 Variablen
1.11 Gültige Variablennamen
1.12 Ausgeben von Variablen
1.13 Eingebaute Hilfen
2 Eingebaute Objekttypen
2.1 Zahlen
2.1.1 Mathematische Operatoren
2.1.2 Bit-Operatoren
2.1.3 Vergleichsoperatoren
2.1.4 Kurzschreibweisen von Operatoren
2.2 Zeichenketten
2.3 Listen
2.4 Tupel
2.5 Range
2.6 Operationen auf Sequenztypen
2.6.1 Index-Zugriff
2.6.2 Slicing
2.6.3 Addition, Multiplikation und andere Funktionen
2.7 Dictionarys
2.8 Set und Frozenset
2.9 Erzeugung von Listen, Sets und Dictionarys
2.10 File-Objekte
2.11 Binärdaten
2.11.1 Unveränderbare Byte-Folgen: bytes
2.11.2 Veränderbare Byte-Folgen: bytearray
2.11.3 Daten in bytes und bytearray manipulieren
3 Fehlerbehandlung
3.1 Fehler mit try ... except fangen
3.2 Verschiedene Fehler fangen
3.3 Alle Fehler fangen
3.4 Weiter ohne Fehler: try ... except ... else
3.5 Dinge auf jeden Fall ausführen: finally
3.6 Mehr über den Fehler erfahren
3.7 Einen Fehler auslösen
4 Ein- und Ausgabe
4.1 Eingabe mit input()
4.2 Ausgabe
4.2.1 Strings formatieren mit format()
4.2.2 Formatierung mit Formatstrings (Old String Formatting)
4.2.3 Ausgabe auf stdout oder stderr
4.2.4 Ausgabe mit print in eine Datei
4.3 Dateien
4.3.1 Arbeiten mit Dateien
4.3.2 Textdateien
4.3.3 Binärdateien
4.3.4 Daten in Objekte ausgeben
4.3.5 Fehlerbehandlung bei der Arbeit mit Dateien
5 Steuerung des Programmablaufs
5.1 True, False, Leere Objekte und None
5.2 Objektvergleich und Wertvergleich
5.3 Boolesche Operatoren
5.4 Bedingte Ausführung: if
5.5 Mehrere Bedingungen: elif und else
5.6 Objektabhängige Ausführung: with
5.7 Bedingter Ausdruck
6 Schleifen
6.1 Zählschleife: for
6.2 Bedingte Schleife: while
6.3 Unterbrechung einer Schleife: break
6.4 Neustart der Schleife: continue
7 Funktionen
7.1 Definieren und Aufrufen von Funktionen
7.2 Sichtbarkeit von Variablen
7.3 Funktionsparameter
7.3.1 Positionsabhängige Parameter
7.3.2 Variable Anzahl von Parametern
7.3.3 Keyword Parameter
7.4 Defaultwerte für Funktionsparameter
7.5 Rückgabewert einer Funktion
7.6 Manipulation von Argumenten
7.7 Dokumentation im Programm: Docstring
7.8 Geschachtelte Funktionen
8 Funktionales
8.1 Lambda-Funktionen
8.2 Funktionen auf Sequenzen ausführen: map()
8.3 Daten aus einer Sequenz extrahieren: filter()
8.4 Das Modul functools
9 Module
9.1 Laden eines Moduls
9.1.1 Selektives Laden aus einem Modul
9.1.2 Umbenennen eines Moduls beim Import
9.2 Ein Modul erstellen
9.3 Wo werden Module gesucht?
9.4 Fehler beim Importieren
9.5 Ein Modul ist auch ein Programm
9.6 Neu laden eines Moduls
9.7 Mehrere Module – Ein Package
10 Objekte
10.1 Definition von Klassen
10.2 Methoden
10.3 Attribute
10.4 Von der Klasse zum Objekt
10.4.1 Ein Objekt initialisieren: Der Konstruktor
10.4.2 Überladen von Funktionen
10.5 Klassenvariablen
10.6 Vererbung
10.6.1 Einfache Vererbung
10.6.2 Von eingebauten Klassen erben
10.6.3 Mehrfachvererbung
11 Objekte unter der Lupe
11.1 Typ einer Variablen
11.2 Attribute eines Objekts
11.3 Standardfunktionen implementieren
11.3.1 Vergleichsoperatoren
11.3.2 Attributzugriff
11.3.3 Verhalten von Containertypen
11.3.4 Mathematische Operatoren
11.3.5 Sonstige Operatoren und Konvertierungs-Funktionen
11.4 Objekte aufrufen
11.5 Darstellung eines Objekts als Zeichenkette
11.6 Informationen über Objekte sammeln
11.7 Attribute managen: Propertys
11.8 Deskriptoren
11.9 Dekoratoren
11.9.1 Die zu dekorierende Funktion
11.9.2 Eine Funktion als Dekorator
11.9.3 Den Dekorator tarnen
11.9.4 Objekt als Dekorator
11.10 Iteratoren
11.11 Generatoren
11.12 Context Manager
11.13 Exceptions
12 Mehr zu Namensräumen
12.1 Implizite Variablensuche
12.2 Explizite Variablensuche: global und nonlocal
Teil II: Batterien enthalten
13 Collections
13.1 deque
13.2 ChainMap
13.3 Counter
13.4 OrderedDict
13.5 defaultDict
13.6 UserDict, UserList und UserString
13.7 namedtuple
14 Datum und Uhrzeit
14.1 UNIX-Zeit: time
14.1.1 Ausgeben einer Zeit
14.1.2 Einlesen einer Zeit
14.1.3 Schlafen
14.2 Das Modul datetime
14.2.1 Datum: datetime.date
14.2.2 Uhrzeit: datetime.time
14.2.3 Zeitdifferenz/Zeitzone: datetime.timedelta/datetime.timezone
14.2.4 Datum und Uhrzeit: datetime.datetime
15 Dateien und Verzeichnisse
15.1 Systemunabhängiger Zugriff mit pathlib
15.1.1 Die Klasse Path
15.1.2 Methoden von Pure-Pfad-Objekten
15.1.3 Methoden von konkreten Pfad-Objekten
15.2 OS-spezifischer Zugriff mit os.path
15.3 Temporäre Dateien erzeugen
16 Reguläre Ausdrücke
16.1 Text beschreiben
16.2 Pattern Matching
16.2.1 Steuerung des Matching
16.2.2 Individuelle Parameter für eine Gruppe
16.3 Suchen und Ersetzen
16.4 Referenzen auf gefundenen Text
16.5 Regular Expression Objects
16.6 Funktionen, Konstanten und Ausnahmen des Moduls
17 Zufallszahlen
17.1 Das Modul random
17.2 Einfache Zufallszahlen
17.3 Zahlen aus einem Bereich
17.4 Auswahl aus einer Menge und Mischen
17.5 Zufallszahlen mit der Klasse SystemRandom
17.6 Verteilungsfunktionen
18 Netzwerkprogrammierung mit Sockets
18.1 Kommunikation im Internet
18.1.1 Ein Socket-Server mit UDP
18.1.2 Ein Socket-Client mit UDP
18.1.3 UDP-Client und Server bei der Arbeit
18.1.4 Ein Socket-Server mit TCP
18.1.5 Ein Socket-Client mit TCP
18.1.6 TCP-Client und Server bei der Arbeit
18.2 UNIX-Sockets
18.2.1 TCP UNIX-Socket
18.2.2 UDP UNIX-Socket
18.2.3 Client und Server mit UDP UNIX-Socket bei der Arbeit
18.3 Mehrere Verbindungen über einen Socket
19 Automatisches Testen mit doctest
19.1 Doctest anwenden
19.2 Doctest in ein Programm einfügen
19.3 Umgang mit variablen Ausgaben
19.4 Auslagern des Tests in eine Datei
20 Iteratoren und funktionale Programmierung
20.1 Erzeugung von Iteratoren mit itertools
20.1.1 Endlosschleifen
20.1.2 Sequenzfilter
20.1.3 Permutationen
20.2 Tools für Funktionen functools
21 Binärdaten und Codierungen
21.1 Binärstrukturen bearbeiten mit struct
21.2 Transportcodierung mit base64
21.3 Objekte Serialisieren
21.3.1 Python-Objekte serialisieren mit pickle
21.3.2 Daten serialisieren mit json
22 Internetprotokolle
22.1 Ein Webserver in Python
22.1.1 Webserver für statische Seiten
22.1.2 Server für dynamische Seiten
22.1.3 Daten auf dem Webserver empfangen und verarbeiten
22.2 Webseiten mit einem Programm holen
22.2.1 Eine Webseite holen mit urlopen()
22.2.2 Die Klasse Request
22.3 Bearbeiten von URLs
22.3.1 Aufbauen einer URL
22.3.2 Zerlegen einer URL
22.4 E-Mail senden mit smtplib
22.4.1 Versenden einer Mail
22.4.2 Header zu einer Nachricht hinzufügen
22.4.3 Verschlüsselter Mailversand
22.5 E-Mail erstellen mit dem Modul email
22.5.1 Header zu einer Nachricht hinzufügen
22.5.2 Charset des Nachrichtentextes
22.5.3 Abfragen von Nachrichten-Headern
22.5.4 Weitere Methoden für email.message
22.5.5 Aufbau einer Multipart-Message
22.6 Multipart-Nachrichten mit email.mime
22.7 E-Mail aus einer Datei lesen
22.8 E-Mail empfangen mit poplib
22.8.1 Die Klasse POP3
22.8.2 Weiterverarbeitung empfangener Nachrichten
23 Multitasking
23.1 Das Modul threading
23.1.1 Die Klasse Thread
23.1.2 Threads als Objekt erzeugen
23.1.3 Threads identifizieren
23.1.4 Threads als abgeleitete Klasse
23.2 Größere Mengen von Threads
23.3 Synchronisation von Threads
23.3.1 Lock
23.3.2 RLock
23.3.3 Condition
23.3.4 Semaphore
23.3.5 Event
23.3.6 Timer
23.3.7 Barrier
23.4 Datenaustausch zwischen Threads
23.5 Das Modul multiprocessing
23.6 Datenaustausch zwischen Prozessen
23.6.1 Die Klasse multiprocessing. Pipe
23.6.2 Die Klasse multiprocessing. Queue
23.6.3 Shared Memory
23.6.4 Die Funktion Manager
23.6.5 Manager-Objekte erstellen und manipulieren
23.6.6 Manager-Objekte zwischen lokalen Prozessen teilen
23.6.7 BaseManager-Objekte
23.6.8 Zugriff von Manager-Objekten über das Netzwerk
24 Logging
24.1 Das Modul logging
24.1.1 Formatieren einer Logzeile
24.1.2 Konfigurieren des Loggings mit basicConfig()
24.1.3 Eigene Log-Level definieren
24.1.4 Unterdrücken eines Log-Levels
24.1.5 Funktionen im Modul logging
24.2 Objektorientiertes Logging mit logging
24.2.1 Logger-Objekte
24.2.2 Die Klasse Handler
24.2.3 Formatter-Objekte
24.2.4 Filter-Objekte
24.2.5 Ausgabe auf mehrere Kanäle gleichzeitig
24.2.6 Konfigurationsmöglichkeiten für das Logging
24.3 Logging mit syslog
24.3.1 Log-Level im Modul syslog
24.3.2 Berechnung der Bitmaske für setlogmask()
24.3.3 Log-Kanäle
24.3.4 Weitere Parameter für openlog()
24.3.5 Beispiele
25 Datenbanken
25.1 Das DB-API 2.0
25.1.1 Attribute eines Datenbankmoduls
25.1.2 Connection-Objekte
25.1.3 Cursor-Objekte
25.1.4 Exceptions
25.2 Das Modul sqlite3
25.2.1 Öffnen einer Datenbank
25.2.2 Daten definieren und abfragen
25.2.3 Transaktionen
25.2.4 Transaktionen interaktiv
25.2.5 Erweiterungen des Connection-Objekts
25.3 PostgreSQL mit psycopg2
25.3.1 Verbindung zur Datenbank
25.3.2 Parameter an Anfragen übergeben
25.3.3 Erweiterungen des Connection-Objekts
25.3.4 Transaktionen und Isolation Level
25.4 MySQL mit mysqlclient
25.4.1 Verbindung zur Datenbank
25.4.2 Parameter an Anfragen übergeben
25.4.3 Erweiterungen des Connection-Objekts
25.4.4 Cursor-Klassen
26 Diverses
26.1 math – Mathematische Funktionen
26.2 hashlib – Hashfunktionen
26.3 csv – CSV-Dateien
26.4 getpass – Passwörter eingeben
26.5 enum – Aufzählungstypen
26.6 pprint – Variablen schöner ausgeben
27 Verarbeiten von Startparametern
27.1 Zugriff auf die Startparameter mit sys
27.2 Startparameter mit argparse verarbeiten
27.2.1 Die Klasse ArgumentParser
27.2.2 Den Parser starten
27.2.3 Argumente für den Parser definieren
28 Python erweitern
28.1 Module von Drittanbietern finden
28.2 Pakete installieren mit pip
28.3 virtualenv und pyvenv
28.4 Interessante Module außerhalb der Standardlibrary
Teil III: Größere Beispiele
29 Referenzzähler für Latex-Dokumente
29.1 Anforderungen
29.2 Eine Lösung
29.3 Mögliche Erweiterungen
30 Dateien und Verzeichnisse umbenennen
30.1 Anforderungen
30.2 Eine Lösung
30.3 Mögliche Erweiterungen
31 Verfügbarkeit von Webservern prüfen
31.1 Einen Webrequest stellen
31.2 Eine Klasse zum Abfragen einer URL
31.3 Webseite in einem Thread abfragen
31.4 Abfragen mehrerer Hosts
31.5 Mögliche Erweiterungen
32 Änderungen im Linux-Dateisystem überwachen – Inotify
32.1 Beschränkungen von inotify
32.2 Ereignisse im Dateisystem
32.3 Einen Eventhandler implementieren
32.4 Einrichten einer Überwachung
32.5 Überwachen von /tmp
32.6 Überwachung mehrerer Dateien/Verzeichnisse
32.7 Mögliche Erweiterung
Teil IV: Anhang
A Keywords, Konstanten und Module
A.1 Keywords in Python
A.2 Konstanten
A.3 Eingebaute Funktionen
A.4 Module
A.4.1 Datentypen
A.4.2 Mathematische Funktionen
A.4.3 Verarbeitung von Text
A.4.4 Dateien und Verzeichnisse
A.4.5 Speicherung von Daten und Objekten
A.4.6 Verschiedene Dateiformate
A.4.7 Datenkomprimierung und Archivierung
A.4.8 Grundlegende Funktionen
A.4.9 Parallele Programmierung
A.4.10 Kommunikation zwischen Prozessen
A.4.11 Internet-Protokolle
A.4.12 Internet-Datenformate
A.4.13 XML, HTML
A.4.14 Binärdaten
A.4.15 Funktionale Programmierung
A.4.16 Sonstiges
A.4.17 Kryptografische Funktionen
A.4.18 Internationalization
B Onlinequellen
Stichwortverzeichnis
Fußnoten
← Prev
Back
Next →
← Prev
Back
Next →