Variablen

Eine Variable kannst du dir wie eine Kiste vorstellen, in die du Sachen hineinpacken kannst. Du kannst dir aussuchen, wie du diese Kiste nennen möchtest und du kannst dir auch aussuchen, was du in deine Kiste packen möchtest. So kannst du z.B. den Spitznamen deines Mathelehrers in einer Variable speichern:

nameLehrer = "Dr. Frankenzahl"

Oder die Anzahl der Wochen, die die Milchtüte in deinem Kühlschrank schon abgelaufen ist:

milchAbgelaufen = 142

Jetzt höre ich schon die Zwischenrufe: „Das ist ja wie Bruchrechnung! Das braucht man nie wieder im Leben“. Das stimmt aber nicht. Erstens: Wenn ihr 24 Personen seid, aber nur eine Pizza habt, dann könnt ihr nur mit Bruchrechnung herausfinden, dass jeder von euch 1/24 Stück Pizza bekommt, oder eben 3/72, je nachdem wie viel Spaß ihr beim Kürzen und Erweitern habt. Und zweitens: Das Tolle ist, dass unsere Variable und ihr Inhalt jetzt gespeichert werden. Wir können also auch später im Programm darauf zugreifen.

Öffne erneut die Datei, die dein halloWelt Programm enthält:

$ nano hallo-welt.py

Und passe den Code wie folgt an:

meinName = "Thorben"
print ("Hallo " + meinName)

Du kannst die Variable meinName natürlich mit deinem eigenen Namen füllen. Wenn du dieses Programm wie gewohnt speicherst und ausführst, wird dir der Text „Hallo Thorben“ ausgegeben. In der ersten Zeile erstellst du die Variable und füllst sie mit Inhalt. In der zweiten Zeile gibst du wie schon im ersten halloWelt Programm einen Text aus: „Hallo“ und hinter einem Pluszeichen fügst du jetzt als Platzhalter die Variable ein, die dann am Ende das ausgeben wird, was du in ihr gespeichert hast. Das Pluszeichen verbindet die beiden Texte miteinander. Jetzt bist du dran! Kannst du ein Programm schreiben, das deinen Namen und dein Alter ausgeben kann?

meinName = "JP-Krake"
meinAlter = 2

print(" Ich heiße " + meinName)
print(" Und bin " + str(meinAlter)+ " alt")

Bis jetzt hast du in deinen Variablen immer nur Text gespeichert. Text in einem Programcode wird als String bezeichnet. Aber das Alter von unserem tollen Thorben wollen wir natürlich als Zahl speichern. Deswegen lassen wir die Anführungszeichen weg. Ganze Zahlen in einem Programmcode bezeichnet man als Integer. Jetzt können wir in Zeile 4 und 5 aber nicht einfach Strings (text) und Integer (Zahlen) durcheinander ausgeben, sondern müssen den Integer meinAlter durch die Funktion str() in ein String umwandeln. Das Gleiche geht auch andersherum mit int(). Dafür muss sich in dem Text aber auch eine Zahl befinden. In Python kannst du nicht einfach Zeilenbrüche einfügen, deswegen benutzen wir einfach eine zweite print() Funktion.

Jetzt kommt noch ein kleiner Python-Tipp. Damit du immer weißt, warum du deinen Code so geschrieben hast, wie du ihn nun mal geschrieben hast, kannst du an dem Anfang einer Zeile einfach eine Raute (#) setzen. Alles in der Zeile hinter der Raute ist ein Kommentar nur für dich. Es wird also nicht als Codezeile abgearbeitet.

Funktionen

Das Auto, die Solarzelle, der Computer. Alles nützliche Erfindungen, die unser aller Alltag erleichtern. Wir können sie einfach benutzen und müssen uns wenig Gedanken über die Funktionsweise dieser Geräte machen. Ich meine, so einen Motor könnte ich euch noch erklären. Mit seinen Zylindern und den vier Takten und so. Aber bei einer Halbleiterplatte, auf die Photonen einer brennenden, gigantischen Gaskugel einbrettern und dadurch Strom erzeugen, hört auch mein Latein auf.

Ungefähr nach diesem Prinzip funktionieren auch Funktionen. Irgendeine Person in der Menschheitsgeschichte hatte mal ein Problem beim Programmieren. Dieses Problem löste dieser Mensch und stellte es der Allgemeinheit zur Verfügung.

Aber so wie wir eine Solarzelle für unsere Stromproduktion nutzen können, ohne ihre Funktionsweise zu verstehen, können wir auch Funktionen für uns nutzen, ohne verstehen zu müssen, wie diese funktionieren. Eine Funktion besteht aus dem Namen der Funktion und aus sogenannten Parametern, die man der Funktion zum Arbeiten übergeben kann. Ein Beispiel für eine Funktion, ist die print()-Funktion, die du ja nun auch schon öfter benutzt hast.

print("Hallo Welt")

print() ist also der Name der Funktion. Zwischen die Klammern () werden die sogenannten Parameter geschrieben. Die Parameter sind die Dinge, die eine Funktion zum Arbeiten benötigt. Mit der print()-Funktion wollen wir ja einen Text im Terminal ausgeben. Logischerweise müssen wir der Funktion dazu einen Text als Parameter übergeben. Natürlich gibt es auch andere Funktionen, die dann andere Parameter benötigen, um ihre Aufgabe erfüllen zu können. Eine Funktion, die das Volumen eines Stückes Kuchen berechnen soll, könnte so aussehen:

kuchenVolumen()

Der Name ist kuchenVolumen und zwischen den Klammern () warten die Parameter nur so darauf, von dir eingegeben zu werden. Um das Volumen eines Stück Schokoladenkuchens zu berechnen, benötigt man die Höhe, die Tiefe und die Breite. Der Geschmack spielt hier keine Rolle. Also:

kuchenVolumen(5, 8, 4)

Sieht ja wie vorher aus, nur das zwischen den Klammern, jetzt durch Kommata getrennt, die Werte für Höhe, Tiefe und die Breite stehen. Die Funktion nimmt jetzt diese Werte, bearbeitet sie im Hintergrund und spuckt dann das richtige Ergebnis aus. Dabei kann es sich bei diesem Ergebnis auch um Texte oder Zahlen handeln. Mehr müssen wir nicht wissen, um sie anwenden zu können. Das macht unser Leben um einiges leichter, denn wir müssen nicht für jedes neue Problem, das uns beim Programmieren begegnet, eine eigene Lösung entwickeln. Wir können auf fertige Funktionen zurückgreifen. (Diese Kuchen-Funktion haben wir uns ausgedacht, denn leider, oder eher zum Glück, brauchen wir diese in Python nicht.)