2. Verwendung des Python-Interpreters

2.1. Aufrufen des Interpreters

The Python interpreter is usually installed as /usr/local/bin/python3.12 on those machines where it is available; putting /usr/local/bin in your Unix shell’s search path makes it possible to start it by typing the command:

python3.12

in der Shell starten. [1] Da der Ort, an dem der Interpreter liegt, eine Installationsoption ist, sind auch andere Pfade möglich; fragen Sie Ihren lokalen Python-Guru oder Systemadministrator. (Ein beliebter alternativer Ort ist z. B. /usr/local/python.)

On Windows machines where you have installed Python from the Microsoft Store, the python3.12 command will be available. If you have the py.exe launcher installed, you can use the py command. See Excursus: Setting environment variables for other ways to launch Python.

Wenn Sie an der primären Eingabeaufforderung das Dateiende-Zeichen (Control-D unter Unix, Control-Z unter Windows) eingeben, beendet sich der Interpreter mit dem Statuscode 0. Falls das nicht funktioniert, können Sie den Interpreter mit dem Befehl quit() beenden.

The interpreter’s line-editing features include interactive editing, history substitution and code completion on systems that support the GNU Readline library. Perhaps the quickest check to see whether command line editing is supported is typing Control-P to the first Python prompt you get. If it beeps, you have command line editing; see Appendix Interaktive Eingabebearbeitung und Historienersetzung for an introduction to the keys. If nothing appears to happen, or if ^P is echoed, command line editing isn’t available; you’ll only be able to use backspace to remove characters from the current line.

Der Interpreter funktioniert ähnlich wie die Unix-Shell: Ist die Standardeingabe mit einem TTY-Gerät (Terminal) verbunden, liest und führt er Befehle interaktiv aus. Wird er hingegen mit einem Dateinamen als Argument oder einer Datei als Standardeingabe aufgerufen, liest und führt er ein Skript aus dieser Datei aus.

Eine zweite Möglichkeit, den Interpreter zu starten, ist python -c Befehl [arg] .... Dies führt die Anweisung(en) in Befehl aus, analog zur -c-Option der Shell. Da Python-Anweisungen häufig Leerzeichen oder andere Sonderzeichen der Shell enthalten, empfiehlt es sich in der Regel, Befehl vollständig in Anführungszeichen zu setzen.

Manche Python-Module sind auch als Skripte nützlich. Diese können über python -m Modul [arg] ... aufgerufen werden, was die Quelldatei für Modul so ausführt, als hättest du ihren vollständigen Namen auf der Kommandozeile angegeben.

Wenn eine Skriptdatei verwendet wird, ist es manchmal nützlich, das Skript auszuführen und danach in den interaktiven Modus zu wechseln. Dazu kannst du -i vor dem Skript übergeben.

Alle Kommandozeilen-Optionen sind in Command line and environment beschrieben.

2.1.1. Argumentübergabe

Sind dem Interpreter der Skriptname und die nachfolgenden Argumente bekannt, werden sie in eine Liste von Zeichenketten umgewandelt und der Variablen argv im Modul sys zugewiesen. Du kannst auf diese Liste zugreifen, indem du import sys ausführst. Die Länge der Liste beträgt mindestens eins. Werden weder ein Skript noch Argumente angegeben, ist sys.argv[0] eine leere Zeichenkette. Wird der Skriptname als '-' angegeben (was Standardeingabe bedeutet), wird sys.argv[0] auf '-' gesetzt. Wird -c Befehl verwendet, wird sys.argv[0] auf '-c' gesetzt. Wird -m Modul verwendet, wird sys.argv[0] auf den vollständigen Namen des gefundenen Moduls gesetzt. Optionen nach -c Befehl oder -m Modul werden nicht von der Optionenverarbeitung des Python-Interpreters verbraucht, sondern in sys.argv belassen, damit der Befehl oder das Modul sie verarbeiten kann.

2.1.2. Interaktiver Modus

Werden Befehle über ein TTY-Gerät (Terminal) gelesen, befindet sich der Interpreter im interaktiven Modus. In diesem Modus fordert er mit dem primären Prompt zur Eingabe des nächsten Befehls auf, gewöhnlich drei Größer-als-Zeichen (>>>). Für Fortsetzungszeilen fordert er mit dem sekundären Prompt auf, standardmäßig drei Punkte (...). Der Interpreter gibt eine Begrüßungsmeldung mit seiner Versionsnummer und einem Urheberrechtshinweis aus, bevor er den ersten Prompt anzeigt:

$ python3.12
Python 3.12 (default, April 4 2022, 09:25:04)
[GCC 10.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Fortsetzungszeilen sind erforderlich, wenn du eine mehrzeilige Anweisung eingibst. Sieh dir als Beispiel diese if-Anweisung an:

>>> the_world_is_flat = True
>>> if the_world_is_flat:
...     print("Be careful not to fall off!")
...
Be careful not to fall off!

Weitere Informationen zum interaktiven Modus findest du unter Interaktiver Modus.

2.2. Der Interpreter und seine Umgebung

2.2.1. Quelltext-Codierung

Standardmäßig werden Python-Quelldateien als UTF-8-codiert behandelt. In dieser Codierung können Zeichen der meisten Sprachen der Welt gleichzeitig in String-Literalen, Bezeichnern und Kommentaren verwendet werden. Die Standardbibliothek nutzt allerdings nur ASCII-Zeichen für Bezeichner, eine Konvention, der jeder übertragbare Code folgen sollte. Um all diese Zeichen korrekt anzuzeigen, muss dein Editor erkennen, dass die Datei in UTF-8 vorliegt, und eine Schriftart verwenden, die alle Zeichen in der Datei unterstützt.

Um eine andere als die Standardcodierung anzugeben, sollte eine spezielle Kommentarzeile als erste Zeile der Datei eingefügt werden. Die Syntax sieht wie folgt aus:

# -*- coding: encoding -*-

wobei encoding eine der gültigen, von Python unterstützten codecs ist.

Um beispielsweise anzugeben, dass die Windows-1252-Codierung verwendet wird, sollte die erste Zeile deiner Quelltext-Datei wie folgt aussehen:

# -*- coding: cp1252 -*-

Eine Ausnahme von der Regel für die erste Zeile gilt, wenn der Quelltext mit einer UNIX-„Shebang“-Zeile beginnt. In diesem Fall sollte die Codierungsdeklaration als zweite Zeile der Datei eingefügt werden. Zum Beispiel:

#!/usr/bin/env python3
# -*- coding: cp1252 -*-

Fußnoten