Python 2.1 – Daten und Variablen
Das zweite Modul dreht sich um das Konzept von Daten und Variablen. Du wirst außerdem lernen, welche unterschiedlichen Datentypen von der Programmiersprache Python direkt unterstützt werden.
Was sind Variablen?
Variablen sind ein mächtiges Konzept in der Programmierung.
Eine Variable ist im Allgemeinen eine von deinem Programm exklusiv reservierte Stelle im Hauptspeicher.
Während einige andere Programmiersprachen es verlangen, für Variablen explizit Hauptspeicherplatz anzufragen, nimmt Python dir diese Arbeit vollständig ab. Wie wir bereits in Modul 1 gesehen haben, verlangt Python außerdem auch nicht, dass du vor Deklarierung der Variable explizit angibst, welcher Datentyp (int, float usw.) diese Variable haben soll.
Sehen wir uns ein paar Beispiele an:
a = 1
Hier deklarieren wir die Variable a und weisen ihr den Wert 1 zu. Wir können auf diese Variable zugreifen und den ihr zugewiesenen Wert auslesen:
print(a)
Ebenso können wir den Wert der Variablen jederzeit überschreiben:
a = 2
print(a)
Die Variable a hält momentan einen Integerwert. In Python ist es aber zulässig, sie jederzeit mit einem anderen Datentyp zu belegen, wie du am nächsten Beispiel siehst:
a = "Hallo"
print(a)
Wie du siehst, ist Python sehr flexibel, was Variablen angeht. Für dich ist es zunächst wichtig zu wissen, welche Datentypen es in Python gibt.
Diese sind:
- String
- Numerische Typen: Integer, Float und Complex
- Boolean
- Liste
- Dictionary
Wir werden alle diese Datentypen in mehr oder minder großem Detail besprechen. Auch wenn es für dich zunächst nicht sichtbar ist, gehört eine Variable jederzeit einem dieser Datentypen an. Wenn du dir nicht sicher bist, welcher Datentyp momentan einer Variable zugeordnet ist, kannst du das ganz einfach mit dem Python-Befehl type herausfinden.
Beispiel zum type-Befehl:
a = "Hallo"
type(a)
a = 2
type(a)
a = [2,3]
type(a)
Wie du siehst, ändert sich der Datentyp je nachdem, was du der Variable zuweist.
Gültigkeit von Variablen
Wenn wir über die Gültigkeit von Variablen sprechen, fällt hier oft der Begriff Gültigkeitsbereich (zu engl. scope). Variablen sind immer nur in dem Gültigkeitsbereich valide, in dem sie definiert werden. Wenn wir z.B. in einer Funktion eine Variable a definieren, können wir die Variable a auch nur innerhalb der Funktion verwenden. Du kannst dies ganz leicht austesten:
def scope():
a = 2
print(a)
print(a)
Während das print-Statement innerhalb der Funktion ohne Probleme ausgeführt wird, wird das print-Statement außerhalb des Gültigkeitsbereichs der Funktion fehlschlagen. Dies liegt daran, dass die Variable dort nicht bekannt ist. Woran liegt das?
Stell dir vor, die Variable a wäre überall zugreif- und beschreibbar. Bei kleinen Programmen ist das in aller Regel noch kein Problem. Große Anwendungen haben aber oft hunderte, wenn nicht sogar tausende von Variablen. Dies wird schnell unübersichtlich - Variablen werden ohne deine Intention be- oder überschrieben oder doppelt verwendet. Daher wählt man den Gültigkeitsbereich von Variablen in aller Regel so klein wie möglich.
Benennung von Variablen und Konventionen
Variablen in Python sollten immer möglichst kurze, aber prägnante Namen tragen. Du hast in den Beispielen gesehen, dass wir oft Variablen mit a bezeichnet haben. Für ein kurzes Beispiel ist das völlig okay, aber in deinem Code solltest du dir bessere Namen ausdenken.
Später wirst du eventuell mit anderen Programmieren am gleichen Projekt arbeiten. Deine Kollegen wissen aber nicht, was du dir gedacht hast, als du die Variable a deklariert hast. Prägnante Variablennamen sind ein wichtiger Schritt zu guter Codepraxis.
Exkurs: PEP 8
PEP 8 ist ein Codestandard in Python. Er definiert verschiedene Konventionen, wie Klassen, Variablen und Funktionen benannt werden sollen. Er definiert ebenso, wie viele Zeichen zur Einrückung zu verwenden sind und vieles mehr. PEP-8 ist ein Industriestandard und du solltest ihn dir so schnell als möglich zu eigen machen. Viele Programmierer weigern sich sogar, Python-Code zu verbessern, wenn dieser Standard nicht eingehalten wird.
Zudem hilft dir dieses relativ strikte Regelwerk auch, deinen eigenen Code rigoros einheitlich zu strukturieren. Es gibt verschiedene Werkzeuge, die du einsetzen kannst, um zu überprüfen, inwiefern dein Code diesem Standard entspricht.
Code-Aufgabe - Jetzt bist du gefragt:
Deine Aufgabe:
- Lege zwei Variablen mit Datentyp Integer und
- zwei Variablen mit Datentyp String an und
- lasse sie dir mit dem Print-Befehl ausgeben.
Hinweis: Deine Variablen können frei wählbare Zahlen bzw. irgendeinen Text enthalten.
Code-Aufgabe - Lösung:
Wenn du nicht weiterkommst, findest du hier die Komplettlösung zu der Aufgabe. Du kannst den folgenden Code in den Online-Editor kopieren & einfügen, um ihn zu testen.
[lp_spoiler title="Spoiler - Lösung anzeigen"]
# Integer Variablen
var1 = 7
var2 = 9
# String Variablen
var3 = "Hallo"
var4 = "Ich mag Pizza"
# Hier hab ich spaßeshalber eine Multiplikation als Ausgabe eingefügt
print(var1 * var2)
print(var3)
print(var4)
[/lp_spoiler]
Zusammenfassung:
In der vorliegenden Lektion haben wir gelernt, was Variablen sind und wie man sie deklariert. Wir haben auch gelernt, welche Datentypen Python kennt. Ebenso haben wir etwas über den Gültigkeitsbereich von Variablen erfahren.