Python kurz & gut (eBook)
280 Seiten
O'Reilly Verlag
978-3-95561-771-4 (ISBN)
Mark Lutz ist Software-Entwickler, beschäftigt sich seit 1992 mit Python und gibt seit 1997 Python-Kurse. Er ist Autor von Programming Python und Koautor von Learning Python.
Mark Lutz ist Software-Entwickler, beschäftigt sich seit 1992 mit Python und gibt seit 1997 Python-Kurse. Er ist Autor von Programming Python und Koautor von Learning Python.
Python 3
Inhalt 5
Python - kurz & gut
Einführung 11
Typografische Konventionen 12
Verwendung der Python-Befehlszeile 13
Python-Optionen 14
Angabe des Programms 16
Befehlsoptionen in Python 2.X 17
Umgebungsvariablen in Python 18
Operationale Variablen 18
Befehlszeilen-Optionsvariablen 20
Verwendung des Python Launchers unter Windows 20
Dateidirektiven des Launchers 21
Launcher-Befehlszeilen 21
Launcher-Umgebungsvariablen 22
Integrierte Typen und Operatoren 22
Operatoren und Vorrang 22
Atomare Terme und Dynamische Typisierung 23
Hinweise zum Gebrauch von Operatoren 24
Operationen nach Kategorien 27
Hinweise zu Operationen für Sequenzen 31
Besondere integrierte Typen 32
Zahlen 32
Literale und Erstellung 33
Operationen 34
Decimal und Fraction 34
Andere numerische Typen 35
Strings 35
Literale und Erstellung 36
Operationen 39
String-Formatierung 39
String-Formatierungsausdrücke 40
Syntax des Formatierungsausdrucks 40
String-Formatierungsmethode 41
Syntax der Formatierungsmethode 43
Template-String-Substitution 45
String-Methoden 46
byte- und bytearray Methoden 48
Suchmethoden 50
Methoden zum Aufteilen und Zusammenfügen 50
Formatierungsmethoden 51
Inhaltsprüfungen 53
Ursprüngliches string-Modul 53
Unicode-Strings 54
Unicode-Unterstützung in Python 3.X 55
bytes- und bytearray-Strings 56
Unicode-Unterstützung in Python 2.X 58
Listen 58
Literale und Erstellung 58
Operationen 59
Listenkomprehensionsausdrücke 61
Das Iterationsprotokoll 62
Generatorausdrücke 63
Andere Komprehensionsausdrücke 65
Dictionaries 65
Literale und Erstellung 66
Operationen 67
Tupel 70
Literale und Erstellung 70
Operationen 70
Dateien 71
Eingabedateien 72
Ausgabedateien 73
Alle Dateien 74
Andere file-Attribute (manche nur lesbar) 75
Dateikontextmanager 75
Hinweise zur Verwendung von Dateien 76
Sets 76
Literale und Erstellung 76
Operationen 77
Andere Typen und Konvertierungen 79
Boolesche Werte 79
Typkonvertierung 79
Anweisungen und Syntax 80
Syntaxregeln 81
Namensregeln 83
Namensformat 83
Namenskonventionen 84
Spezifische Anweisungen 85
Zuweisungsanweisungen 86
Erweiterte Zuweisung 87
Herkömmliche Sequenzzuweisung 88
Erweiterte Sequenzzuweisung (3.X) 88
Ausdrucksanweisungen 90
Aufrufsyntax 91
Aufrufsyntax für beliebige Anzahl Argumente 91
print-Anweisungen 92
print-Anweisungen in Python 2.X 93
Die if-Anweisung 94
Die while-Anweisung 95
Die for-Anweisung 95
Die pass-Anweisung 96
Die break-Anweisung 96
Die continue-Anweisung 96
Die del-Anweisung 96
Die def-Anweisung 97
Nur Schlüsselwortargumente in Python 3.X 98
Funktionsannotationen in Python 3.X 99
lambda-Ausdrücke 99
Funktionsstandardwerte und Attribute 100
Funktions- und Methodendekoratoren 100
Die return-Anweisung 102
Die yield-Anweisung 102
Änderungen bei Generatorfunktion in Python 3.3 103
Die global-Anweisung 104
Die nonlocal-Anweisung 105
Die import-Anweisung 105
Import von Paketen 107
Namensraumpakete ab Python 3.3 107
Importalgorithmus 108
Die from-Anweisung 109
Paketrelative import-Syntax 110
Die class-Anweisung 111
Klassendekoratoren in Python 3.X, 2.6 und 2.7 112
Metaklassen 113
Die try-Anweisung 113
try-Anweisungen in Python 2.X 115
Die raise-Anweisung 116
Verkettete Ausnahmen in Python 3.X 116
Klassenausnahmen 117
raise-Anweisungen in Python 2.X 117
Die assert-Anweisung 118
Die with-Anweisung 118
Mehrere Kontextmanager in Python 3.1 und 2.7 119
Kontextmanager-Protokoll 120
Python 2.X-Anweisungen 120
Namensraum und Gültigkeitsregeln 121
Qualifizierte Namen: Namensräume von Objekten 121
Unqualifizierte Namen: lexikalische Gültigkeitsbereiche 122
Verschachtelte Gültigkeitsbereiche und Funktionsabschlüsse 124
Umgebende Gültigkeitsbereiche und Standardwerte 124
Objektorientierte Programmierung 125
Klassen und Instanzen 126
Klassenobjekte bieten Standardverhalten 126
Instanzobjekte werden aus Klassen erzeugt 126
Vererbungsregeln 126
Pseudoprivate Attribute 127
Private Daten in Modulen 127
Private Daten in Klassen 127
Klassen neuen Stils 128
Formale Vererbungsregeln 129
Klassische Klassen: DFLR 129
Klassen neuen Stils: MRO 130
Beispiel: Keine Rautenform 131
Beispiel: Raute 131
Vererbungsalgorithmus neuen Stils 131
Vorrang und Kontext im neuen Stil 133
Methoden zur Operatorüberladung 134
Methoden für alle Typen 135
Methoden für Sammlungen (Sequenzen, Mappings) 142
Methoden für Zahlen (binäre Operatoren) 144
Grundlegende binäre Methoden 144
Rechtsseitige binäre Methoden 145
Erweiterte binäre Methoden 146
Methoden für Zahlen (andere Operationen) 147
Methoden für Deskriptoren 148
Methoden für Kontextmanager 149
Methoden zur Operatorüberladung in Python 2.X 149
Methoden in Python 3.X 150
Methoden in Python 2.X 150
Integrierte Funktionen 153
Integrierte Funktionen in Python 2.X 176
Integrierte Python 3.X-Funktionen, die Python 2.X nicht unterstützt 177
Integrierte Python 2.X-Funktionen, die Python 3.X nicht unterstützt 177
Integrierte Ausnahmen 183
Superklassen: Kategorien 183
Spezifische Ausnahmen 185
Spezifische OSError-Ausnahmen 189
Ausnahmen aus der Kategorie Warnungen 191
Warning Framework 192
Integrierte Ausnahmen in Python 3.2 193
Integrierte Ausnahmen in Python 2.X 194
Integrierte Attribute 194
Module der Standardbibliothek 195
Modul sys 196
Modul string 205
Funktionen und Klassen 206
Konstanten 207
Systemmodul os 207
Administrationswerkzeuge 209
Portierbarkeitskonstanten 210
Shell-Befehle 211
Umgebungswerkzeuge 213
Dateideskriptorwerkzeuge 214
Dateipfadwerkzeuge 217
Prozesssteuerung 221
Modul os.path 225
Mustervergleichsmodul re 228
Modulfunktionen 228
Pattern-Objekte 230
Match-Objekte 231
Muster-Syntax 232
Module für die Persistenz von Objekten 235
Module shelve und dbm 236
Dateien öffnen 236
Dateioperationen 238
Modul pickle 239
Pickling-Schnittstellen 239
Unpickling-Schnittstellen 240
Hinweise zum Gebrauch von pickle 240
tkinter - GUI-Modul und Tools 242
tkinter-Beispiel 242
Wichtige tkinter-Widgets 242
Allgemeine Dialogaufrufe 244
Modul tkinter.messagebox (tkMessageBox in Python 2.X) 244
Modul tkinter.simpledialog (tkSimpleDialog in Python 2.X) 244
Modul tkinter.colorchooser (tkColorChooser in Python 2.X) 244
Modul tkinter.filedialog (tkFileDialog in Python 2.X) 244
Zusätzliche tkinter-Klassen und Tools 245
Zuordnung Tcl/Tk zu Python/tkinter 245
Internetmodule und Tools 247
Andere Module der Standardbibliothek 249
Modul math 250
Modul time 250
Modul timeit 252
Modul datetime 253
Modul random 253
Modul json 254
Modul subprocess 254
Modul enum 255
Modul struct 256
Thread-Module 257
Pythons SQL-Datenbank-API 258
Anwendungsbeispiele zur API 259
Modulschnittstelle 260
Verbindungsobjekte 260
Cursor-Objekte 261
Typobjekte und Konstruktoren 262
Weitere Tipps und Idiome 262
Tipps zum Sprachkern 262
Tipps zur Umgebung 264
Tipps zur Benutzung 266
Sonstige Hinweise 268
Index 269
Verwendung der Python-Befehlszeile
Mit Befehlszeilen können Sie Python-Programme von einer System-Shell aus starten. Befehlszeilen haben das folgende Format:
python
[optionen
*] [ skriptdatei
| -c befehl
| -m modul
| - ] [arg
*] In diesem Format steht python
für die ausführbare Datei des Python-Interpreters – entweder mit dem vollständigen Verzeichnispfad oder nur das Wort python
, das von der System-Shell ausgelöst wird (z.B. über die PATH
-Einstellung). Für Python selbst gedachte Befehlszeilenoptionen (optionen
) stehen vor dem Namen des auszuführenden Programmcodes. Argumente für den auszuführenden Code kommen danach (arg
).
Python-Optionen
Die Elemente von optionen
in Befehlszeilen werden von Python selbst verwendet. In Python 3.X gibt es folgende Optionen (siehe „Befehlsoptionen in Python 2.X“ für die Unterschiede zu 2.X):
-b
-
Setzt eine Warnung ab, wenn
str()
mit einembytes
- oderbytearray
-Objekt, aber ohne Kodierungsargument aufgerufen oder einbytes
- oderbytearray
-Objekt mit einemstr
verglichen wird. Die Option-bb
meldet stattdessen einen Fehler. -B
-
Keine .pyc- oder .pyo-Bytecode-Dateien für Importe schreiben.
-d
-
Schaltet die Debugging-Ausgabe für den Parser an (für Entwickler des Python-Core).
-E
-
Ignoriert die weiter unten beschriebenen Umgebungsvariablen von Python (wie z.B.
PYTHONPATH
). -h
-
Gibt eine Hilfemeldung aus und beendet dann die Ausführung.
-i
-
Wechselt nach der Ausführung eines Skripts in den interaktiven Modus. Tipp: nützlich für die Postmortem-Fehlersuche; siehe auch
pdb.pm()
, wie in den Python Library-Handbüchern beschrieben. -O
-
Optimiert den erzeugten Bytecode (erzeugt und verwendet .pyo-Bytecode-Dateien). Bringt momentan eine leichte Leistungssteigerung.
-OO
-
Wie
-O
, entfernt aber außerdem Docstrings aus dem Bytecode. -q
-
Unterdrückt beim interaktiven Start die Ausgabe der Versions- und Urheberrechtsinformationen (ab Python 3.2).
-s
-
Das User-Siteverzeichnis nicht zum Modulsuchpfad
sys.path
hinzufügen. -S
-
Unterdrückt »import site« bei der Initialisierung.
-u
-
Erzwingt, dass stdout und stderr ungepuffert und binär arbeiten.
-v
-
Gibt bei jeder Initialisierung eines Moduls eine Meldung aus, von wo das Modul geladen wurde. Wiederholen Sie diese Option für ausführlichere Meldungen.
-V
-
Gibt die Python-Versionsnummer aus und beendet die Ausführung (alternativ können Sie auch
--version
eingeben). -W
arg
-
Warnungssteuerung:
arg
hat die FormAktion
:
Meldung
:
Kategorie
:
Modul
:
Zeilennummer
. Siehe auch „Warning Framework“ und „Ausnahmen aus der Kategorie Warnungen“ weiter unten sowie die Dokumentation zum Modulwarnings
in der Python Library Reference (unter http://www.python.org/doc/). -x
-
Überspringt die erste Zeile des Quellcodes, wodurch Sie auch Unix-fremde Schreibweisen von
#!
cmd
verwenden können. -X
option
-
Legt eine implementationsspezifische Option fest (ab Python 3.2). Zulässige Werte für
option
finden Sie in der Implementierungsdokumentation.
Angabe des Programms
Der auszuführende Code und dafür zu übergebende Befehlszeilenargumente werden in Python-Befehlszeilen folgendermaßen angegeben:
skriptdatei
-
Name der Python-Skriptdatei, die als Hauptdatei eines Programms ausgeführt werden soll (z.B. führt
python
main.py
den Code inmain.py
aus). Der Name des Skripts kann ein absoluter oder relativer Dateipfad sein (relativ zu ».«) und wird insys.argv[0]
zur Verfügung gestellt. Auf manchen Plattformen können Sie die Komponentepython
auch weglassen, wenn Sie die Befehlszeile mit dem Namen der Skriptdatei beginnen und keine Optionen an Python selbst übergeben möchten. -c
befehl
-
Gibt den auszuführenden Python-Code (als String) an (z.B. führt
python
-c "print('spam' * 8)"
eine print-Anweisung in Python aus).sys.argv[0]
enthält den Wert'-c'
. -m
modul
-
Führt ein Modul als Skript aus: Sucht nach
modul
insys.path
und führt dieses als Hauptdatei aus (zum Beispiel führtpython
-m pdb s.py
das Python-Debugger-Modulpdb
aus dem Standardbibliotheksverzeichnis mit dem Arguments.py
aus).modul
darf auch der Name eines Pakets sein (z.B.idlelib.idle
).sys.argv[0]
enthält den vollständigen Pfad des Moduls. ?
-
Liest Python-Befehle aus dem Standardeingabestream stdin (Standard) und wechselt in den interaktiven Modus, falls es sich bei stdin um ein »tty« (interaktives Gerät) handelt.
sys.argv[0]
erhält den Wert'?'
. arg
*
-
Gibt an, dass der Rest der Befehlszeile an die Skriptdatei oder den Befehl übergeben und in der internen String-Liste
sys.argv[1:]
erscheint.
Wenn skriptdatei
, befehl
oder modul
nicht angegeben werden, wechselt Python in den interaktiven Modus, nimmt Befehle vom stdin entgegen (unter Verwendung von GNU readline für die Eingabe falls installiert) und legt sys.argv[0]
auf den Wert ''
fest (Leerstring) – außer wenn die in dieser Liste erklärte Option »–«
angegeben wird.
Außer über herkömmliche Befehlszeilen an der Eingabeaufforderung einer System-Shell können Sie Python-Programme üblicherweise auch folgendermaßen ausführen: Indem Sie in einem grafischen Dateibrowser auf den jeweiligen Dateinamen klicken; indem Sie Funktionen der Python-Standardbibliothek aufrufen (z.B. os.popen()
); über Programmstart-Menüoptionen in IDEs wie IDLE, Komodo, Eclipse, NetBeans usw.
Befehlsoptionen in Python 2.X
Python 2.X unterstützt dasselbe Befehlszeilenformat, aber nicht die Option -b
, die sich auf Änderungen des String-Typs in Python 3.X bezieht, ebenso wenig wie die in 3.X neu hinzugekommenen Optionen –q
und –X
. In den Versionen 2.6 und 2.7 werden dagegen zusätzlich folgende Optionen unterstützt (teilweise auch in früheren Versionen):
-t
und-tt
-
-t
gibt Warnmeldungen für inkonsistente Mischungen von Tabs und Leerzeichen in Einrückungen aus. Die Option-tt
gibt statt Warnungen Fehlermeldungen aus. Python 3.X behandelt solche Mischungen immer als Syntaxfehler (siehe auch „Syntaxregeln“). -Q
-
Divisionsbezogene Optionen:
-Qold
(Standard), -Qwarn
,-Qwarnall
und–Qnew
. Diese Optionen wurden in Python 3.X durch die echte Division subsumiert (siehe auch „Hinweise zum Gebrauch von Operatoren“). -3
-
Gibt Warnmeldungen für jegliche Python 3.X-Inkompatibilitäten im Code aus, die das Tool 2to3 der Python-Standardinstallation nicht auf einfache Weise beheben kann.
-R
-
Aktiviert ein Pseudozufalls-Salt, um vorhersehbare Hash-Werte verschiedener Typen zwischen separaten Aufrufen des Interpreters zum Schutz vor Denial-of-Service-Angriffen zu verhindern. Neu ab Python 2.6.8. Diese Option gibt es im 3.X-Zweig aus Kompatibilitätsgründen ab Version 3.2.3. Die...
Erscheint lt. Verlag | 27.6.2014 |
---|---|
Verlagsort | Heidelberg |
Sprache | deutsch |
Themenwelt | Informatik ► Programmiersprachen / -werkzeuge ► Python |
Schlagworte | kurz & gut • Kurzreferenz • Kurz und gut • Programmiersprache • Programmierung • Python • Referenz |
ISBN-10 | 3-95561-771-8 / 3955617718 |
ISBN-13 | 978-3-95561-771-4 / 9783955617714 |
Haben Sie eine Frage zum Produkt? |
Größe: 2,7 MB
Digital Rights Management: ohne DRM
Dieses eBook enthält kein DRM oder Kopierschutz. Eine Weitergabe an Dritte ist jedoch rechtlich nicht zulässig, weil Sie beim Kauf nur die Rechte an der persönlichen Nutzung erwerben.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich