So arbeitest du mit Variablen in Python!

von: Konstantin

aktualisiert: Sept. 30, 2024

Variablen sind das Herzstück jeder Programmiersprache, und das gilt natürlich auch für Python. Aber was genau ist eine Variable? Wie deklarierst und initialisierst du sie? Und welche verschiedenen Typen gibt es überhaupt? In diesem Artikel werde ich dir alles Schritt für Schritt erklären und dir zeigen, wie du Variablen einsetzt.

1. Grundlagen zu Variablen in Python

Eine Variable ist im Grunde ein Platzhalter für einen Wert, den du in deinem Code verwendest. Du kannst dir das wie eine Box vorstellen, in der du etwas ablegst, um es später wieder zu verwenden. In Python können diese Boxen (also die Variablen) verschiedene Datentypen wie Zahlen, Zeichenketten oder Listen speichern.

1.1. So definierst du Variablen

In Python musst du eine Variable nicht explizit deklarieren, wie es in einigen anderen Programmiersprachen der Fall ist. Du weist ihr einfach einen Wert zu, und Python erkennt automatisch den Datentyp. Damit hast du die Definition einer Variable in Python im Nu erledigt:

name = "Max"  # Eine Zeichenkette
alter = 25    # Eine Zahl (Integer)

Erklärung zum Code: Hier wurden zwei Variablen erstellt: name speichert eine Zeichenkette, und alter speichert eine ganze Zahl (einen Integer).

Hinweis:

Verwechsle nicht  = und ==

  • = dient der Zuweisung eines Wertes zu einer Variable.
  • == wird verwendet, um zwei Werte auf Gleichheit zu prüfen.

Das heißt, du musst immer = verwenden, wenn du einer Variable einen Wert zuweisen willst!

1.2. Aufrufen und Ausgeben von Variablen

Nachdem du eine Variable erstellt hast, kannst du auf ihren Wert zugreifen, indem du einfach den Variablennamen verwendest. Schau dir das im Beispiel an:

print(name)  
# Ausgabe: Max

print(alter) 
# Ausgabe: 25

1.3. Nutze sinnvolle Namen für Variablen

Wenn du eine neue Variable nutzt, mach dir ein paar Gedanken über einen sinnvollen Namen für die Variable. Der Variablenname ist entscheidend für die Lesbarkeit und Wartbarkeit deines Codes. Nutze beschreibende Namen, die den Zweck der Variablen deutlich machen. 

Folgende Regeln solltest du befolgen:

  • Verwende "sprechende" Namen: Statt x, verwende summe oder anzahl oder so wie oben name oder alter.
  • Unterstriche: Nutze _ für zusammengesetzte Namen, wie user_name. Verwende keine Leerzeichen.
  • Vermeide reservierte Wörter: Vermeide Namen, die schon von Python verwendet werden, wie else oder break.
  • Verwende keine Sonderzeichen: Außer dem Unterstrich _ solltest du keine Sonderzeichen verwenden
  • Variablenanfang: Variablen sollten mit einem Buchstaben oder einem Unterstrich beginnen.

2. Arbeiten mit Variablen

Super! Jetzt hast du eine neue Variable erstellt und dir Gedanken darüber gemacht, was ein sinnvoller Name für die Variable sein könnte! Mit der neuen Variablen kannst du nun Einiges anstellen!

2.1. Einer Variable einen neuen Wert zuweisen

Du kannst einer Variablen einfach einen neuen Wert zuweisen. Dadurch ändert sich der Wert der Variablen:

alter = 25
print(alter)  
# Ausgabe: 25

alter = 26
print(alter)  
# Ausgabe: 26

Erklärung zum Code: Der ursprüngliche Wert von alter wurde durch 26 ersetzt.

2.2. Variablentyp anzeigen

Um den Datentyp einer Variable zu überprüfen, kannst du die type()-Funktion verwenden. Dies ist nützlich, wenn du dir nicht sicher bist, welchen Datentyp eine Variable hat.

print(type(alter))  
# Ausgabe: <class 'int'>

2.3. Variable um eins erhöhen

Oft willst du den Wert einer Variablen um einen bestimmten Wert erhöhen oder verringern. In der Regel willst du 1 addieren oder 1 abziehen. Das geht ganz einfach: 

counter = 0
counter = counter + 1  # Erhöht counter um 1

print(counter)  
# Ausgabe: 1

Erklärung zum Code: Hier wurde die Variable counter um 1 erhöht. Du kannst die Variable um einen beliebigen Wert erhöhen oder verringern. 

Übrigens: da so etwas häufig gemacht wird, gibt es dafür sogar eine Abkürzung! Den Code oben kannst du auch wie folgt schreiben: 

counter = 0
counter += 1  # Erhöht counter um 1

print(counter)  
# Ausgabe: 1

2.4. Variable löschen

Wenn du eine Variable nicht mehr benötigst, kannst du sie mit del löschen. Das spart Speicher und verhindert eventuell unerwünschte Fehler.

zahl = 42
del zahl

print(zahl)
# Ausgabe: NameError: name 'name' is not defined

Erklärung zum Code: Die Variable zahl wurde zwar initialisiert, aber gleich wieder gelöscht. Daher führt print(zahl) zu einem Fehler.

3. Globale und lokale Variablen

Der "Scope" einer Variablen bestimmt, wo diese Variable im Programm zugänglich ist. Globale Variablen werden außerhalb von Funktionen definiert und sind im gesamten Programm verfügbar. Lokale Variablen werden innerhalb von Funktionen definiert und sind nur dort zugänglich. Schau dir das mal im Beispiel an:

x_global = 10  # Globale Variable

def meine_funktion():
    y_lokal = 5  # Lokale Variable

    print(x_global)  
    # Ausgabe: 10

    print(y_lokal)  
    # Ausgabe: 5

meine_funktion()
# Ausgabe: 10, 5

print(x_global)
# Ausgabe: 10

print(y_lokal)  
# Fehler!

Erklärung zum Code: Der Befehl print(y_lokal) führt zu einem Fehler, da y_lokal nur innerhalb der Funktion meine_funktion() definiert ist.

Nun könntest du denken, dass es ja dann besser ist einfach immer globale Variablen zu verwenden. Das ist falsch! Du solltest globale Variablen vermeiden und bevorzugt lokale Variablen verwenden. Schlimmstenfalls bist du ansonsten permanent dabei deine Variablen im Code zu suchen.

Zudem ist es immer sinnvoll Code zu Funktionen zusammenzufassen. Das macht den Code übersichtlicher. Hier solltest du Variablen verwenden, die nur innerhalb einer Funktion Gültigkeit haben. Das macht deinen Code viel einfacher wartbar, übersichtlicher und dient der Vermeidung von Fehlern. 

Oft ist es sogar sinnvoll globale Variablen explizit als Argument an Funktionen zu übergeben. Einfach nur um die Lesbarkeit deines Codes zu verbessern! Übrigens: wie guter Code aussehen sollte, habe ich unter "Clean Code" näher erläutert. 

4. Typen von Variablen

In Python gibt es verschiedene Typen von Variablen. Hier sind einige der häufigsten:

  • Integer: Integer ist der Datentyp für ganze Zahlen wie x = 10
  • Float: Float speichert Fließkommazahlen, z.B.: y = 10.5
  • Boolean (Wahrheitswerte): Mit True oder False kannst du logische Werte speichern.
  • String: Mit Strings kannst du Text speichern name = "Python"
  • Liste: Verwende Listen, wenn du mehrere Werte speichern willst, also liste = [1, 2, 3]
  • Dictionary: Ein Dictionary speichert Daten in Schlüssel-Wert-Paaren, ähnlich wie in einem Wörterbuch dictionary = {"key": "value"}
  • Set: Ein Set speichert einzigartige Werte mein_set = {1, 2, 3}

Die einzelnen Datentypen erkläre ich nochmal viel genauer in meinem interaktiven Python Einstiegskurs. Der Kurs untergliedert sich in mehrere Abschnitte, z.B. findest du eine Einführung in Datentypen, ausführliche Infos zu Strings, sowie Genaueres zu Listen, Sets und Dictionaries.

5. Spezialfälle

Zu guter Letzt noch zwei Spezialfälle. 

5.1. Leere Variable definieren

Manchmal benötigst du eine Variable, die noch keinen Wert hat. Beispielsweise wenn du einen definierten Default Wert für eine Variable verwenden willst oder musst. In Python kannst du dies durch Zuweisung von None erreichen. None ist ein spezielles Objekt in Python, das das Fehlen eines Wertes darstellt.

leere_var = None

5.2. Geschützte Variablen

Variablen, die mit einem Unterstrich (_) beginnen, gelten als geschützt und sollten nur innerhalb ihrer eigenen Klasse oder ihres Moduls verwendet werden. Es handelt sich hierbei allerdings um eine Code-Konvention. Das heißt man kann von außen immer noch zugreifen, sollte dies aber besser nicht tun! Näheres dazu findest du in meinem Artikel zu Vererbung in Python.

_name = "geschuetzt"

Es handelt sich hierbei allerdings um eine Code-Konvention. Das heißt man kann von außen immer noch zugreifen, sollte dies aber besser nicht tun! Näheres dazu findest du in meinem Artikel zu Vererbung in Python.

6. Fazit

Ich hoffe dieser Artikel hat dir geholfen, Variablen etwas besser zu verstehen. Wenn du noch mehr zu Variablen wissen möchtest und dein Verständnis von Python verbessern willst, dann kannst du dir ja mal meinen Python Einstiegskurs anschauen. Keine Sorge: Kostet nichts. 

Teilen: