Vorlesungsskript 06
Grundlegendes zu Python
Wir haben gesehen, wie wir nichtinteraktive Programme auf der Kommandozeile benutzen. Nun wollen wir uns damit beschäftigen, solche Programme selbst zu schreiben, und zwar mit der Programmiersprache Python 3.
Ein Python-Programm können wir schreiben, indem wir eine Datei mit der
Endung .py
erstellen, sie mit einem Texteditor öffnen und
Python-Anweisungen (engl. statements) hineinschreiben.
Betrachten wir zunächst ein Beispielprogramm mit dem Namen
count_lines.py
. Hier ist sein Inhalt:
import sys
line_count = 0
for line in sys.stdin:
line_count = line_count + 1
print(line_count)
count_lines.py
leistet das gleiche wie das
Shell-Kommando wc -l
: Es zählt die Zeilen im Input.
Ausführen können wir Python-Programme mit Hilfe des
Python-Interpreters. Der Interpreter ist ein Programm mit dem Namen
python3
, dem wir ein Python-Programm als Argument übergeben, und
der das Programm dann ausführt. Das sieht dann zum Beispiel so aus:
$ cat pride-and-prejudice.txt | python3 count_lines.py
13427
Ohne dass Sie jetzt jede Einzelheit verstehen müssten, sei kurz Schritt für Schritt erklärt, wie das Programm funktioniert:
- Das Modul
sys
wird importiert (das erlaubt unserem Programm u.a., auf seinen Input zuzugreifen). - Bisher haben wir erst
0
Zeilen gezählt. Wir geben der Zahl0
den Namenline_count
. So merkt sich unser Programm, wie viele Zeilen es bisher gezählt hat. - Jetzt starten wir eine Schleife, die die Zeilen im
Input eine nach der anderen durchgeht. Der eingerückte Teil des
Programms wird mehrfach ausgeführt, für jede Zeile einmal. Jedes Mal
nehmen wir den aktuellen
line_count
, zählen1
hinzu und weisen nun dem neuen Wert den Namenline_count
zu. - Mit Hilfe der
print
-Funktion geben wir die schließlich erreichte Anzahl der gezählten Zeilen aus.
In den folgenden Vorlesungsskripten lernen wir die Sprache Python besser kennen, um genauer zu verstehen, wie obiges Programm funktioniert.
Der Python-Interpreter
Das Programm python3
ist der so genannte Interpreter
für die Programmiersprache Python. Aufgabe eines Interpreters ist es, die
Anweisungen in unserem Programm eine nach der anderen in Maschinensprache zu
übersetzen und auszuführen. Wenn wir python3
mit einer
Python-Datei als Argument aufrufen, arbeitet der Interpreter die Anweisungen
automatisch ab. Es ist aber auch möglich, den Python-Interpeter im
interaktiven Modus zu starten. Dazu erteilt man das Shell-Kommando
python3
ohne Argument und erhält dann ein Prompt, wo man
Python-Anweisungen direkt erteilen und ausführen lassen kann. Das ist sehr
nützlich, um die Sprache kennenzulernen und Dinge auszuprobieren – oder auch
als Helferlein im Alltag, z.B. als Taschenrechner oder Helfer bei schwierigen
Entscheidungen, wie im folgenden Beispiel.
$ python3
>>> 19 + 23
42
>>> import random
>>> random.choice(['pasta', 'pizza'])
'pizza'
>>>
Das Python-Prompt sieht so aus: >>>
. Was darauf
folgt, ist die jeweilige Anweisung, darunter kommt dann der Output. Wie auch
Bash-Kommandos werden Python-Anweisungen mit Enter ausgeführt, mit den
Pfeiltasten kann man durch bereits ausgeführte Anweisungen blättern, mit
Ctrl+U
kann man die aktuelle Eingabe abbrechen und mit
Ctrl+D
kann man den Interpreter beenden und zur Shell
zurückkehren.