Sie sind hier
E-Book

Python kurz & gut

Für Python 3.x und 2.7

AutorMark Lutz
VerlagO'Reilly Verlag
Erscheinungsjahr2014
Seitenanzahl280 Seiten
ISBN9783955617714
FormatPDF/ePUB
Kopierschutzkein Kopierschutz/DRM
GerätePC/MAC/eReader/Tablet
Preis14,90 EUR
Die objektorientierte Sprache Python eignet sich hervorragend zum Schreiben von Skripten, Programmen und Prototypen. Sie ist frei verfügbar, leicht zu lernen und zwischen allen wichtigen Plattformen portabel, einschließlich Linux, Unix, Windows und Mac OS. Damit Sie im Programmieralltag immer den Überblick behalten, sind die verschiedenen Sprachmerkmale und Elemente in Python - kurz & gut übersichtlich zusammengestellt. Für Auflage 5 wurde die Referenz komplett überarbeitet, erweitert und auf den neuesten Stand gebracht, so dass sie die beiden aktuellen Versionen 2.7 und 3.4 berücksichtigt. Python - kurz & gut behandelt unter anderem: Eingebaute Typen wie Zahlen, Listen, Dictionarys u.v.a.; Anweisungen und Syntax für Entwicklung und Ausführung von Objekten; Die objektorientierten Entwicklungstools in Python; Eingebaute Funktionen, Ausnahmen und Attribute; pezielle Methoden zur Operatorenüberladung; Weithin benutzte Standardbibliotheksmodule und Erweiterungen; Kommandozeilenoptionen und Entwicklungswerkzeuge. Mark Lutz stieg 1992 in die Python-Szene ein und ist seitdem als aktiver Pythonista bekannt. Er gibt Kurse, hat zahlreiche Bücher geschrieben und mehrere Python-Systeme programmiert.

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.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

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 einem bytes- oder bytearray-Objekt, aber ohne Kodierungsargument aufgerufen oder ein bytes- oder bytearray-Objekt mit einem str 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 Form Aktion:Meldung:Kategorie:Modul:Zeilennummer. Siehe auch „Warning Framework“ und „Ausnahmen aus der Kategorie Warnungen“ weiter unten sowie die Dokumentation zum Modul warnings 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 in main.py aus). Der Name des Skripts kann ein absoluter oder relativer Dateipfad sein (relativ zu ».«) und wird in sys.argv[0] zur Verfügung gestellt. Auf manchen Plattformen können Sie die Komponente python 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 in sys.path und führt dieses als Hauptdatei aus (zum Beispiel führt python -m pdb s.py das Python-Debugger-Modul pdb aus dem Standardbibliotheksverzeichnis mit dem Argument s.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...

Blick ins Buch
Inhaltsverzeichnis
Python3
Inhalt5
Python - kurz & gut11
Einführung11
Typografische Konventionen12
Verwendung der Python-Befehlszeile13
Python-Optionen14
Angabe des Programms16
Befehlsoptionen in Python 2.X17
Umgebungsvariablen in Python18
Operationale Variablen18
Befehlszeilen-Optionsvariablen20
Verwendung des Python Launchers unter Windows20
Dateidirektiven des Launchers21
Launcher-Befehlszeilen21
Launcher-Umgebungsvariablen22
Integrierte Typen und Operatoren22
Operatoren und Vorrang22
Atomare Terme und Dynamische Typisierung23
Hinweise zum Gebrauch von Operatoren24
Operationen nach Kategorien27
Hinweise zu Operationen für Sequenzen31
Besondere integrierte Typen32
Zahlen32
Literale und Erstellung33
Operationen34
Decimal und Fraction34
Andere numerische Typen35
Strings35
Literale und Erstellung36
Operationen39
String-Formatierung39
String-Formatierungsausdrücke40
Syntax des Formatierungsausdrucks40
String-Formatierungsmethode41
Syntax der Formatierungsmethode43
Template-String-Substitution45
String-Methoden46
byte- und bytearray Methoden48
Suchmethoden50
Methoden zum Aufteilen und Zusammenfügen50
Formatierungsmethoden51
Inhaltsprüfungen53
Ursprüngliches string-Modul53
Unicode-Strings54
Unicode-Unterstützung in Python 3.X55
bytes- und bytearray-Strings56
Unicode-Unterstützung in Python 2.X58
Listen58
Literale und Erstellung58
Operationen59
Listenkomprehensionsausdrücke61
Das Iterationsprotokoll62
Generatorausdrücke63
Andere Komprehensionsausdrücke65
Dictionaries65
Literale und Erstellung66
Operationen67
Tupel70
Literale und Erstellung70
Operationen70
Dateien71
Eingabedateien72
Ausgabedateien73
Alle Dateien74
Andere file-Attribute (manche nur lesbar)75
Dateikontextmanager75
Hinweise zur Verwendung von Dateien76
Sets76
Literale und Erstellung76
Operationen77
Andere Typen und Konvertierungen79
Boolesche Werte79
Typkonvertierung79
Anweisungen und Syntax80
Syntaxregeln81
Namensregeln83
Namensformat83
Namenskonventionen84
Spezifische Anweisungen85
Zuweisungsanweisungen86
Erweiterte Zuweisung87
Herkömmliche Sequenzzuweisung88
Erweiterte Sequenzzuweisung (3.X)88
Ausdrucksanweisungen90
Aufrufsyntax91
Aufrufsyntax für beliebige Anzahl Argumente91
print-Anweisungen92
print-Anweisungen in Python 2.X93
Die if-Anweisung94
Die while-Anweisung95
Die for-Anweisung95
Die pass-Anweisung96
Die break-Anweisung96
Die continue-Anweisung96
Die del-Anweisung96
Die def-Anweisung97
Nur Schlüsselwortargumente in Python 3.X98
Funktionsannotationen in Python 3.X99
lambda-Ausdrücke99
Funktionsstandardwerte und Attribute100
Funktions- und Methodendekoratoren100
Die return-Anweisung102
Die yield-Anweisung102
Änderungen bei Generatorfunktion in Python 3.3103
Die global-Anweisung104
Die nonlocal-Anweisung105
Die import-Anweisung105
Import von Paketen107
Namensraumpakete ab Python 3.3107
Importalgorithmus108
Die from-Anweisung109
Paketrelative import-Syntax110
Die class-Anweisung111
Klassendekoratoren in Python 3.X, 2.6 und 2.7112
Metaklassen113
Die try-Anweisung113
try-Anweisungen in Python 2.X115
Die raise-Anweisung116
Verkettete Ausnahmen in Python 3.X116
Klassenausnahmen117
raise-Anweisungen in Python 2.X117
Die assert-Anweisung118
Die with-Anweisung118
Mehrere Kontextmanager in Python 3.1 und 2.7119
Kontextmanager-Protokoll120
Python 2.X-Anweisungen120
Namensraum und Gültigkeitsregeln121
Qualifizierte Namen: Namensräume von Objekten121
Unqualifizierte Namen: lexikalische Gültigkeitsbereiche122
Verschachtelte Gültigkeitsbereiche und Funktionsabschlüsse124
Umgebende Gültigkeitsbereiche und Standardwerte124
Objektorientierte Programmierung125
Klassen und Instanzen126
Klassenobjekte bieten Standardverhalten126
Instanzobjekte werden aus Klassen erzeugt126
Vererbungsregeln126
Pseudoprivate Attribute127
Private Daten in Modulen127
Private Daten in Klassen127
Klassen neuen Stils128
Formale Vererbungsregeln129
Klassische Klassen: DFLR129
Klassen neuen Stils: MRO130
Beispiel: Keine Rautenform131
Beispiel: Raute131
Vererbungsalgorithmus neuen Stils131
Vorrang und Kontext im neuen Stil133
Methoden zur Operatorüberladung134
Methoden für alle Typen135
Methoden für Sammlungen (Sequenzen, Mappings)142
Methoden für Zahlen (binäre Operatoren)144
Grundlegende binäre Methoden144
Rechtsseitige binäre Methoden145
Erweiterte binäre Methoden146
Methoden für Zahlen (andere Operationen)147
Methoden für Deskriptoren148
Methoden für Kontextmanager149
Methoden zur Operatorüberladung in Python 2.X149
Methoden in Python 3.X150
Methoden in Python 2.X150
Integrierte Funktionen153
Integrierte Funktionen in Python 2.X176
Integrierte Python 3.X-Funktionen, die Python 2.X nicht unterstützt177
Integrierte Python 2.X-Funktionen, die Python 3.X nicht unterstützt177
Integrierte Ausnahmen183
Superklassen: Kategorien183
Spezifische Ausnahmen185
Spezifische OSError-Ausnahmen189
Ausnahmen aus der Kategorie Warnungen191
Warning Framework192
Integrierte Ausnahmen in Python 3.2193
Integrierte Ausnahmen in Python 2.X194
Integrierte Attribute194
Module der Standardbibliothek195
Modul sys196
Modul string205
Funktionen und Klassen206
Konstanten207
Systemmodul os207
Administrationswerkzeuge209
Portierbarkeitskonstanten210
Shell-Befehle211
Umgebungswerkzeuge213
Dateideskriptorwerkzeuge214
Dateipfadwerkzeuge217
Prozesssteuerung221
Modul os.path225
Mustervergleichsmodul re228
Modulfunktionen228
Pattern-Objekte230
Match-Objekte231
Muster-Syntax232
Module für die Persistenz von Objekten235
Module shelve und dbm236
Dateien öffnen236
Dateioperationen238
Modul pickle239
Pickling-Schnittstellen239
Unpickling-Schnittstellen240
Hinweise zum Gebrauch von pickle240
tkinter - GUI-Modul und Tools242
tkinter-Beispiel242
Wichtige tkinter-Widgets242
Allgemeine Dialogaufrufe244
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 Tools245
Zuordnung Tcl/Tk zu Python/tkinter245
Internetmodule und Tools247
Andere Module der Standardbibliothek249
Modul math250
Modul time250
Modul timeit252
Modul datetime253
Modul random253
Modul json254
Modul subprocess254
Modul enum255
Modul struct256
Thread-Module257
Pythons SQL-Datenbank-API258
Anwendungsbeispiele zur API259
Modulschnittstelle260
Verbindungsobjekte260
Cursor-Objekte261
Typobjekte und Konstruktoren262
Weitere Tipps und Idiome262
Tipps zum Sprachkern262
Tipps zur Umgebung264
Tipps zur Benutzung266
Sonstige Hinweise268
Index269

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

FREIE WERKSTATT

FREIE WERKSTATT

Die Fachzeitschrift FREIE WERKSTATT berichtet seit der ersten Ausgaben 1994 über die Entwicklungen des Independent Aftermarkets (IAM). Hauptzielgruppe sind Inhaberinnen und Inhaber, Kfz-Meisterinnen ...

Card-Forum

Card-Forum

Card-Forum ist das marktführende Magazin im Themenbereich der kartengestützten Systeme für Zahlung und Identifikation, Telekommunikation und Kundenbindung sowie der damit verwandten und ...

care konkret

care konkret

care konkret ist die Wochenzeitung für Entscheider in der Pflege. Ambulant wie stationär. Sie fasst topaktuelle Informationen und Hintergründe aus der Pflegebranche kompakt und kompetent für Sie ...

DHS

DHS

Die Flugzeuge der NVA Neben unser F-40 Reihe, soll mit der DHS die Geschichte der "anderen" deutschen Luftwaffe, den Luftstreitkräften der Nationalen Volksarmee (NVA-LSK) der ehemaligen DDR ...

e-commerce magazin

e-commerce magazin

e-commerce magazin Die Redaktion des e-commerce magazin versteht sich als Mittler zwischen Anbietern und Markt und berichtet unabhängig, kompetent und kritisch über ...