Python Variablen – wer mit dem Programmieren beginnt, stößt schnell auf sie. Aber was ist das eigentlich? Variablen in Python sind veränderbare Speicherplätze. Die dahintersteckende Idee kennst Du dabei aus dem Matheunterricht. Hier sind sie Dir als Platzhalter mit der Bezeichnung x, y, p oder q schon mal begegnet. Sie stehen dabei für unbekannte Werte. In der Python-Programmierung funktioniert das ganz ähnlich.
Was sind Python Variablen?
Wozu braucht man eigentlich Variablen in Python? So wie Du Dir in der Schule Formeln für die nächste Mathearbeit merken musst, müssen auch Computerprogramme Daten speichern. Daher gibt es zur dauerhaften Speicherung Datenbanken oder Dateien. Aber auch während des Programmablaufs – man sagt auch “zur Laufzeit” – müssen Daten zudem gespeichert werden. Stell Dir vor, in Deiner Python Entwicklungsumgebung soll die Fläche eines Rechtecks berechnet werden. Der Benutzer gibt dabei die beiden Seiten a und b an. Wo bewahrst Du die Informationen bis zur Verwendung auf? Richtig, in zwei Variablen.
Am besten schauen wir uns ein Beispiel an. Indes wird so Python greifbarer. Das folgende kleine Programm fragt a und b ab, berechnet die Fläche und gibt zudem das Ergebnis aus:
Mit der Funktion input lassen sich Daten vom Benutzer abfragen. Das Argument hinter input ist ein Text, der dabei angezeigt wird. Die Abfragewerte werden in den Variablen a und b gespeichert. Du hättest sie auch laenge und breite nennen können, denn die Namen darfst Du innerhalb bestimmter Regeln selber bestimmen. Das Ergebnis der Berechnung a * b wird schließlich in der Variablen ergebnis gespeichert, die dann mit print ausgegeben wird. Einzig die Funktion int() ist vielleicht unklar, die besprechen wir später. Der folgende Screenshot zeigt die Ausführung des Programms in der Python IDLE:
Wofür man Variablen braucht, ist nun klar geworden. Indes bewahren sie Werte auf, bis Du sie beispielsweise für Dein Python Django Projekt brauchst. So ähnlich wie Schubladen, in die man etwas reinlegen kann. Allerdings passt hier in eine Schublade immer nur ein Wert. Neugierig geworden? Weitere Informationen hat die Universität Heidelberg zudem übersichtlich zusammengefasst. Du möchtest Deinen Wissensdurst lieber mit praktischen Aufgaben stillen? Dann ist unser Computerkurs genau das Richtige.
Variable in Python – eine Typfrage
Socken, T-Shirts usw. packst Du wahrscheinlich nicht in die gleiche Schublade. So ist das bei den Python Variablen auch. Es gibt verschiedene Typen von Werten, wie zum Beispiel Zahlen oder Texte. Für diese verschiedenen Typen gibt es daher passende Schubladen, ähm Variablen. Normalerweise braucht man den Typ der Variablen in Python nicht angeben, er wird automatisch erkannt. Das nennt sich Type Inference. Im folgenden Beispiel wird ein Text in eine Variable gepackt:
name = „Max Mustermann“
Beim Coding redet man übrigens eher von Zeichenketten oder Strings und nicht von Texten. Sie werden an den Anführungszeichen automatisch von Python erkannt. Ganze Zahlen nennt man in der Softwareentwicklung dabei Integer. Du legst diese Variable in Python wie folgt an:
a = 8
Im nächsten Beispiel wird eine Variable für die Zahl Pi mit ihrem Wert belegt. Python erkennt, dass es sich hier um eine Kommazahl handelt und nutzt eine Variable vom Typ Float (Fließkommazahlen):
pi = 3.14
Etwas Besonderes sind die Wahrheitswerte vom Typ Bool. Diese können nur die Werte True oder False, also Wahr oder Falsch aufnehmen. Das begegnet einem im Schulunterricht eher nicht, ist aber in der Programmierung sehr wichtig. Man trifft mit den Wahrheitswerten Entscheidungen, um den Programmablauf zu steuern:
isEnabled = True
Regeln für die Namensvergabe von Python Variablen
Oben wurde schon erwähnt, dass die Namen für die Python Variablen bestimmten Regeln folgen müssen. Diese sind:
- Der Name muss mit einem Buchstaben oder einem Unterstrich beginnen.
- Der Name darf nur alphanumerische Zeichen und Unterstriche enthalten.
Unter alphanumerisch versteht man in der Informatik übrigens die Summe der Buchstaben und der Zahlen, also A-Z und 0-9. Neben diesen beiden Regeln gibt es noch die sogennanten Konventionen. Konventionen sind Regeln, die sich Programmierer dabei selber auferlegen. Der Python-Interpreter würde also eine Verletzung einer solchen Konvention nicht anmeckern. Aber Dein Programmier-Freund am Nachbartisch. Die Konvention soll ihm nämlich helfen, den Code besser zu verstehen. Dabei folgt die Namensgebung bestimmten Regeln.
Folgende Bezeichnungen sind gültig:
- Sie beginnen mit einem Kleinbuchstaben.
- Mehrere Worte werden durch Unterstriche getrennt.
Ungültig bzw. der Konvention widersprechende Bezeichnungen sind:
- 4players
- enabled/activated
- Fix4production
Umwandlung von Typen
Python Variablen können mit Inhalten verschiedenen Typs belegt werden. Die Anweisungen laufen also hintereinander ausgeführt ab, der Typ der Variable a wird jeweils aktualisiert:
Allerdings kann es in bestimmten Fällen notwendig sein, Inhalte in einen anderen Typ umzuwandeln. Das folgende Codestück weist einen Fehler auf (TypeError: can’t multiply sequence by non-int of type ‘str’). Wegen der Anführungszeichen werden a und b als Strings erkannt und können deswegen nicht miteinander multipliziert werden:
Vor der Multiplikation müssen die beiden Strings in Zahlen umgewandelt werden. Hierbei hilft die Funktion int():
Nun weißt Du, warum die Funktion int() wichtig ist: Die Abfrage von Nutzereingaben mit input() liefert Daten vom Typ String. Will man mit ihnen rechnen, muss man sie in einen Zahlentyp umwandeln. Mit int() lassen sich zudem Fließkommazahlen in Ganzzahlen umwandeln, dabei wird der nicht ganzzahlige Rest einfach abgeschnitten.
Die Umwandlung in Fließkommazahlen ist auch möglich, dafür existiert die Funktion float():
Schließlich kann man aus Zahlen, auch Strings machen, hier hilft str():
Wenn Dir irgendwann vor lauter Typen und Umwandlungen der Kopf brummt und Du gar nicht mehr weißt, welchen Typ nun eine Variable hat, kannst Du Dir von Python helfen lassen. Die Funktion type() verrät den Typ des folgenden Arguments:
Wie der Screenshot zeigt, lautet die Ausgabe der Funktion hier <class ‘str’>, die Variable ist also vom Typ String.
Type Hints
Noch recht neu und nicht sonderlich weit verbreitet sind die mit Python 3.6 hinzugekommen Type Hints. In anderen Programmiersprachen wie C oder Java erkennt der Interpreter bzw. Compiler den Typ von Variablen nicht automatisch. Sie werden deklariert, das heißt dem Computer wird mitgeteilt, welchen Typ eine Variable hat. Das ist ein wenig mehr Arbeit, hilft aber, beim Coden den Überblick zu behalten. Zudem stellen sie sicher, dass der Variable nur passende Werte zugewiesen werden. In Java sieht das beispielsweise so aus:
String greeting = „Hello World“;
Mit den Type Hints lässt sich das nun ähnlich in Python formulieren. Der Typ der Variable wird hinter einem Doppelpunkt angegeben:
greeting: str = „Hello World“
Ob sich Type Hints wirklich durchsetzen werden, ist noch unklar. Sie haben auf jeden Fall den Vorteil, in Entwicklungsumgebungen wie PyCharm, schon vor dem Lauf des Programms bestimmte Prüfungen durchzuführen. Zudem helfen sie, Fehler zu vermeiden. Andererseits ist die dynamische Typisierung, so heißt das herkömmliche Verfahren mit Typprüfungen, erst zur Laufzeit ein beliebtes Feature von Python.
Die wichtigsten Fragen zu den Variablen in Python sind damit besprochen. Nun kennst Du die Bestandteile der Python Syntax. Sicher wird Dir beim Üben noch der eine oder andere Fehler unterlaufen. Gut so! Fehler gehören zum Programmieralltag dazu und helfen beim Lernen der Sprache. Also, starte den Python Download und beginne doch mit einem einfachen Coding-Projekt. Wie wäre es mit einer Python For Schleife?
FAQs zu Variablen in Python
Im Allgemeinen ist eine Variable in Python ein Behälter, der bestimmte Informationen und Werte aufbewahrt. Während des Codens kannst Du auf diese Weise auf bestimmte Werte zugreifen oder ihnen sogar neue Inhalte zu schreiben. Um den Überblick nicht zu verlieren, kannst Du sie auch in Python Dictionaries abspeichern.
Durch die Funktion „type()“ kannst Du abfragen, welchen Python Datentypen die Variable aufweist. Die Überprüfung ist daher wichtig, da sich die Variable durch Funktionen oder Rechenanwendungen verändern kann. Indes haben Fehler so keine Chance.
Python erkennt automatisch, um welche Variable es sich handelt. Trotzdem musst Du den Typen ändern, wenn Du zwei Variablen benutzen möchtest. So kann man zum Beispiel nur mit Zahlentypen wie int, float oder long rechnen.