Das Python-Tutorial
*******************

Python ist eine leicht zu erlernende, mächtige Programmiersprache. Sie
bietet effiziente objektorientierte Datenstrukturen und einen
einfachen, aber effektiven Ansatz zur objektorientierten
Programmierung. Pythons elegante Syntax und dynamische Typisierung
machen es zusammen mit seiner Eigenschaft als Interpretationssprache
zu einer idealen Sprache für Skripte und schnelle
Anwendungsentwicklung in vielen Bereichen auf den meisten Plattformen.

The Python interpreter and the extensive standard library are freely
available in source or binary form for all major platforms from the
Python web site, https://www.python.org/, and may be freely
distributed. The same site also contains distributions of and pointers
to many free third party Python modules, programs and tools, and
additional documentation.

Der Python-Interpreter lässt sich leicht um neue Funktionen und
Datentypen erweitern, die in C oder C++ (oder anderen aus C
aufrufbaren Sprachen) implementiert sind. Python eignet sich auch als
Erweiterungssprache für anpassbare Anwendungen.

This tutorial introduces the reader informally to the basic concepts
and features of the Python language and system. It helps to have a
Python interpreter handy for hands-on experience, but all examples are
self-contained, so the tutorial can be read off-line as well.

For a description of standard objects and modules, see The Python
Standard Library. Die Python-Sprachreferenz gives a more formal
definition of the language.  To write extensions in C or C++, read
Extending and Embedding the Python Interpreter and Python/C API
Reference Manual. There are also several books covering Python in
depth.

Dieses Tutorial erhebt keinen Anspruch darauf, vollständig zu sein und
jedes einzelne oder auch nur jedes häufig genutzte Feature abzudecken.
Stattdessen führt es in viele der bemerkenswertesten Features von
Python ein und vermittelt dir einen guten Eindruck vom Stil und der
Philosophie der Sprache. Nach dem Lesen wirst du in der Lage sein,
Python-Module und -Programme zu lesen und zu schreiben, und du wirst
bereit sein, mehr über die verschiedenen im The Python Standard
Library beschriebenen Python-Bibliotheksmodule zu lernen.

Auch das Glossar ist einen Blick wert.

* 1. Appetitanreger

* 2. Verwendung des Python-Interpreters

  * 2.1. Aufrufen des Interpreters

    * 2.1.1. Argumentübergabe

    * 2.1.2. Interaktiver Modus

  * 2.2. Der Interpreter und seine Umgebung

    * 2.2.1. Quelltext-Codierung

* 3. Eine informelle Einführung in Python

  * 3.1. Python als Taschenrechner verwenden

    * 3.1.1. Zahlen

    * 3.1.2. Text

    * 3.1.3. Listen

  * 3.2. Erste Schritte in Richtung Programmierung

* 4. Mehr Werkzeuge zur Ablaufsteuerung

  * 4.1. "if"-Anweisungen

  * 4.2. "for"-Anweisungen

  * 4.3. Die Funktion "range()"

  * 4.4. "break"- und "continue"-Anweisungen

  * 4.5. "else"-Klauseln bei Schleifen

  * 4.6. "pass"-Anweisungen

  * 4.7. "match"-Anweisungen

  * 4.8. Funktionen definieren

  * 4.9. Mehr zum Definieren von Funktionen

    * 4.9.1. Standardwerte für Argumente

    * 4.9.2. Schlüsselwortargumente

    * 4.9.3. Spezielle Parameter

      * 4.9.3.1. Positions- oder Schlüsselwortargumente

      * 4.9.3.2. Reine Positionsargumente

      * 4.9.3.3. eine Schlüsselwortargumente

      * 4.9.3.4. Funktionsbeispiele

      * 4.9.3.5. Rückblick

    * 4.9.4. Beliebige Argumentlisten

    * 4.9.5. Entpacken von Argumentlisten

    * 4.9.6. Lambda-Ausdrücke

    * 4.9.7. Dokumentations-Zeichenketten

    * 4.9.8. Funktions-Annotationen

  * 4.10. Intermezzo: Programmierstil

* 5. Datenstrukturen

  * 5.1. Mehr zum Thema Listen

    * 5.1.1. Listen als Stapel verwenden

    * 5.1.2. Listen als Warteschlangen verwenden

    * 5.1.3. Listen-Abstraktion

    * 5.1.4. Verschachtelte Listen-Abstraktion

  * 5.2. Die Erklärung der "del" “

  * 5.3. Tupel und Sequenzen

  * 5.4. Sets

  * 5.5. Wörterbücher

  * 5.6. Schleifentechniken

  * 5.7. Mehr zu den Bedingungen

  * 5.8. Vergleich von Sequenzen und anderen Typen

* 6. Module

  * 6.1. Mehr zum Thema Module

    * 6.1.1. Module als Skripte ausführen

    * 6.1.2. Der Suchpfad für Module

    * 6.1.3. "Kompilierte" Python-Dateien

  * 6.2. Standardmodule

  * 6.3. Die Funktion "dir()"

  * 6.4. Pakete

    * 6.4.1. Importieren von * aus einem Paket

    * 6.4.2. Verweise innerhalb eines Pakets

    * 6.4.3. Packages in Multiple Directories

* 7. Eingabe und Ausgabe

  * 7.1. Erweiterte Formatierungsmöglichkeiten für die Ausgabe

    * 7.1.1. Formatierte Zeichenfolgenliterale

    * 7.1.2. Die String-Methode format()

    * 7.1.3. Manuelle Formatierung von Zeichenfolgen

    * 7.1.4. Alte Zeichenfolgenformatierung

  * 7.2. Dateien lesen und schreiben

    * 7.2.1. Methoden von Datei-Objekten

    * 7.2.2. Strukturierte Daten speichern mit "json"

* 8. Fehler und Ausnahmen

  * 8.1. Syntax Fehler

  * 8.2. Ausnahmen

  * 8.3. Behandlung von Ausnahmen

  * 8.4. Auslösen von Ausnahmen

  * 8.5. Verkettung von Ausnahmen

  * 8.6. Benutzerdefinierte Ausnahmen

  * 8.7. Definition von Bereinigungsaktionen

  * 8.8. Vordefinierte Bereinigungsaktionen

  * 8.9. Auslösen und Behandeln mehrerer unzusammenhängender Ausnahmen

  * 8.10. Anreicherung von Ausnahmen mit Notizen

* 9. Klassen

  * 9.1. Ein Wort zu Namen und Objekten

  * 9.2. Python-Gültigkeitsbereiche und Namensräume

    * 9.2.1. Beispiel für Gültigkeitsbereiche und Namensräume

  * 9.3. Ein erster Blick auf Klassen

    * 9.3.1. Syntax von Klassendefinitionen

    * 9.3.2. Klassenobjekte

    * 9.3.3. Instanzobjekte

    * 9.3.4. Methodenobjekte

    * 9.3.5. Klassen- und Instanzvariablen

  * 9.4. Ergänzende Hinweise

  * 9.5. Vererbung

    * 9.5.1. Mehrfachvererbung

  * 9.6. Private Variablen

  * 9.7. Dies und Das

  * 9.8. Iteratoren

  * 9.9. Generatoren

  * 9.10. Generator-Ausdrücke

* 10. Brief Tour of the Standard Library

  * 10.1. Operating System Interface

  * 10.2. File Wildcards

  * 10.3. Command Line Arguments

  * 10.4. Error Output Redirection and Program Termination

  * 10.5. String Pattern Matching

  * 10.6. Mathematik

  * 10.7. Internet Access

  * 10.8. Dates and Times

  * 10.9. Data Compression

  * 10.10. Performance Measurement

  * 10.11. Quality Control

  * 10.12. Batteries Included

* 11. Brief Tour of the Standard Library --- Part II

  * 11.1. Output Formatting

  * 11.2. Vorlagen

  * 11.3. Working with Binary Data Record Layouts

  * 11.4. Multithreading

  * 11.5. Protokollierung

  * 11.6. Weak References

  * 11.7. Tools for Working with Lists

  * 11.8. Decimal Floating-Point Arithmetic

* 12. Virtuelle Umgebungen und Pakete

  * 12.1. Einführung

  * 12.2. Erstellung virtueller Umgebungen

  * 12.3. Pakete mit pip verwalten

* 13. Was nun?

* 14. Interaktive Eingabebearbeitung und Historienersetzung

  * 14.1. Tab-Vervollständigung und Historienbearbeitung

  * 14.2. Alternativen zum interaktiven Interpreter

* 15. Gleitkommaarithmetik: Probleme und Einschränkungen

  * 15.1. Darstellungsfehler

* 16. Anhang

  * 16.1. Interaktiver Modus

    * 16.1.1. Fehlerbehandlung

    * 16.1.2. Ausführbare Python-Skripte

    * 16.1.3. Die interaktive Startdatei

    * 16.1.4. Die Anpassungsmodule
