01 - Skripting
Das erste Skript
Bisher haben wir nur mit dem interaktiven Prompt >>>
gearbeitet. Nun wollen wir ein Skript schreiben, dass wir später ausführen können.
Dazu öffnen wir einen Texteditor oder eine IDE und erzeugen eine neue Datei.
In diese Datei schreiben wir folgenden Code:
hallo.py | |
---|---|
Anschließend wird die Datei mit dem Namen hallo.py
gespeichert und ausgeführt. Eine IDE bietet dir die Möglichkeit den Code direkt auszuführen. Solltest du einen Texteditor verwendet haben, musst du die Datei in der Kommandozeile ausführen. Dazu wechselst du in das Verzeichnis in dem du die Datei gespeichert hast und gibst python hallo.py
ein.
Das wirkt jetzt alles noch nicht so wirklich spannend, aber das wird sich noch ändern.
Nun wollen wir unser Skript etwas erweitern. Dazu schreiben wir folgenden Code in unsere Datei:
Überleg dir was passiert, wenn du das Skript ausführst. Gehe dazu Zeile für Zeile vor. Anschließend kannst du überprüfen ob du richtig liegst.
Vielleicht hast du schon festgestellt, dass ein Skript prinzipiell von oben nach unten ausgeführt wird.
Nimm dir etwas Zeit und probiere auch die schon bekannten Befehle aus. Schaue was passiert, wenn du die Zeilen in einer anderen Reihenfolge anordnest.
Kommentare
In Python ist es auch möglich Kommentare im Quelltext (dein Skript) zu platzieren. Diese werden beim Ausführen ignoriert und dienen zu der Dokumentation deines Codes.
Kommentare werden mit #
eingeleitet und gehen dann bis zum Ende der Zeile.
test.py | |
---|---|
Komplexe Datentypen
Bisher haben wir nur mit einfachen Datentypen gearbeitet. Nun wollen wir uns mit komplexeren Datentypen beschäftigen. Diese sind list
, tuple
, dictionary
und set
.
list
Eine Liste ist eine geordnete Sammlung von Elementen. Diese Elemente können unterschiedliche Datentypen sein. Eine Liste wird mit eckigen Klammern []
erzeugt. Die einzelnen Elemente werden mit einem Komma ,
getrennt.
list.py | |
---|---|
Anschließend können wir auf die einzelnen Elemente zugreifen. Dazu verwenden wir den Index des Elements. Der Index beginnt bei 0. Das erste Element hat also den Index 0, das zweite den Index 1 und so weiter. Der Index wird in eckigen Klammern []
hinter den Namen der Liste geschrieben.
Überleg dir was passiert, wenn du das Skript ausführst. Gehe dazu Zeile für Zeile vor. Anschließend kannst du überprüfen ob du richtig liegst.
tuple
Ein Tuple ist eine geordnete Sammlung von Elementen. Diese Elemente können unterschiedliche Datentypen sein. Ein Tuple wird mit runden Klammern ()
erzeugt. Die einzelnen Elemente werden mit einem Komma ,
getrennt.
tuple.py | |
---|---|
Anschließend können wir auf die einzelnen Elemente zugreifen. Dazu verwenden wir den Index des Elements. Der Index beginnt bei 0. Das erste Element hat also den Index 0, das zweite den Index 1 und so weiter. Der Index wird in eckigen Klammern []
hinter den Namen des Tuples geschrieben.
Überleg dir was passiert, wenn du das Skript ausführst. Gehe dazu Zeile für Zeile vor. Anschließend kannst du überprüfen ob du richtig liegst.
dictionary
Ein Dictionary ist eine Sammlung von Elementen. Diese Elemente können unterschiedliche Datentypen sein. Ein Dictionary wird mit geschweiften Klammern {}
erzeugt. Die einzelnen Elemente werden mit einem Komma ,
getrennt. Ein Element besteht aus einem Schlüssel und einem Wert. Der Schlüssel wird durch einen Doppelpunkt :
vom Wert getrennt.
Überleg dir was passiert, wenn du das Skript ausführst. Gehe dazu Zeile für Zeile vor. Anschließend kannst du überprüfen ob du richtig liegst.
set
Ein Set ist eine ungeordnete Sammlung von Elementen. Diese Elemente können unterschiedliche Datentypen sein. Ein Set wird mit geschweiften Klammern {}
erzeugt. Die einzelnen Elemente werden mit einem Komma ,
getrennt.
set.py | |
---|---|
Anschließend können wir auf die einzelnen Elemente zugreifen. Dazu verwenden wir den Index des Elements. Der Index beginnt bei 0. Das erste Element hat also den Index 0, das zweite den Index 1 und so weiter. Der Index wird in eckigen Klammern []
hinter den Namen des Sets geschrieben.
Überleg dir was passiert, wenn du das Skript ausführst. Gehe dazu Zeile für Zeile vor. Anschließend kannst du überprüfen ob du richtig liegst.
Schleifen
In Python gibt es zwei arten von Schleifen. Die while
-Schleife und die for
-Schleife.
while
Die while
-Schleife wird solange ausgeführt, wie die Bedingung wahr ist.
Überleg dir was passiert, wenn du das Skript ausführst. Gehe dazu Zeile für Zeile vor. Anschließend kannst du überprüfen ob du richtig liegst.
for
Die for
-Schleife wird für jedes Element in einer Liste, einem Tuple, einem Dictionary oder einem Set ausgeführt.
Die Variable i
enthält in jedem Durchlauf der Schleife ein Element aus der Liste a
. In diesem Fall wird die Schleife also 5 mal ausgeführt. Im ersten Durchlauf enthält i
den Wert 1, im zweiten Durchlauf den Wert 2, im dritten Durchlauf den Wert 3, im vierten Durchlauf den Wert 4 und im fünften Durchlauf den Wert 5.
Überleg dir was passiert, wenn du das Skript ausführst. Gehe dazu Zeile für Zeile vor. Anschließend kannst du überprüfen ob du richtig liegst.
Verzweigungen
Bisher haben wir nur kurze Skripte geschrieben, die von oben nach unten ausgeführt werden, oder Schleifen, die solange ausgeführt werden, wie eine Bedingung wahr ist. Nun wollen wir uns mit Verzweigungen beschäftigen. Diese werden verwendet, um den Programmablauf zu steuern.
if
Die if
-Verzweigung wird ausgeführt, wenn die Bedingung wahr ist.
Hier kombinieren wir schon einige gelernte Elemente. Die Variable a
enthält ein Tuple mit den Zahlen von 1 bis 5. In der for
-Schleife wird für jedes Element des Tupels überprüft, ob es gerade ist. Dazu wird der Modulo-Operator %
verwendet. Dieser gibt den Rest einer Division zurück. Wenn der Rest 0 ist, ist die Zahl gerade. Anschließend wird die Zahl ausgegeben.
if - else
Die if
-Verzweigung wird ausgeführt, wenn die Bedingung wahr ist. Die else
-Verzweigung wird ausgeführt, wenn die Bedingung falsch ist.
if_else.py | |
---|---|
if - elif - else
Manchmal wollen wir mehr als zwei Verzweigungen nutzen. Dazu können wir die eben genutzte if - else
-Verzweigung erweitern. Die elif
-Verzweigung wird ausgeführt, wenn die Bedingung wahr ist. Die else
-Verzweigung wird ausgeführt, wenn keine der Bedingungen wahr ist. Die else
-Verzweigung ist optional und kann weggelassen werden. Die #python elif
-Verzweigung kann beliebig oft wiederholt werden.
if_elif_else.py | |
---|---|
Eingaben
Wir wollen ein Programm schreiben, das den Benutzer nach seinem Namen fragt und ihn dann begrüßt. Dazu verwenden wir die Funktion input
. Diese Funktion erwartet einen String als Argument, der als Frage an den Benutzer angezeigt wird. Der Benutzer kann dann eine Eingabe machen, die als String zurückgegeben wird. Wir speichern diese Eingabe in einer Variable und geben sie dann aus.
Hallo Christof
Ist dir aufgefallen das die print
-Anweisung etwas ungewohnt aussieht? Wir haben hier zwei Strings mit dem +
-Operator verknüpft. Das ist in Python möglich, aber nicht in allen Programmiersprachen. Ein String kann mit einem anderen String verknüpft werden, aber nicht mit einem Integer oder Float. Versuche es mal mit 1 + "1"
.
Eine andere Möglichkeit ist es, die print
-Funktion mit mehreren Argumenten aufzurufen. Die Argumente werden dann mit einem Leerzeichen getrennt und ausgegeben.