Coding Garden
Anmelden

Was sind Variablen?

Bisher hast du Text direkt in print() geschrieben. Das funktioniert, aber was ist, wenn du denselben Text mehrfach verwenden willst? Oder wenn sich ein Wert während des Programms ändern soll? Dafür gibt es Variablen.

Variablen als Behälter

Stell dir eine Variable wie eine beschriftete Box vor. Du gibst der Box einen Namen und legst etwas hinein. Später kannst du den Inhalt wieder herausholen, indem du den Namen der Box nennst.

Python
name = "Anna"
print(name)

Ausgabe:

Text
Anna

Was passiert hier?

  1. name ist der Name der Variable (die Beschriftung der Box)
  2. = ist der Zuweisungsoperator (er legt etwas in die Box)
  3. "Anna" ist der Wert (der Inhalt der Box)
  4. print(name) gibt den Inhalt der Variable aus
Important
Das Gleichheitszeichen = bedeutet in Python nicht "ist gleich", sondern "speichere den Wert rechts in der Variable links". Lies es als "wird zu" oder "erhält den Wert".

Variablen erstellen und verwenden

Du kannst Variablen für verschiedene Arten von Daten verwenden:

Python
# Text (String)
begruessung = "Hallo zusammen!"

# Ganze Zahl (Integer)
alter = 25

# Kommazahl (Float)
preis = 19.99

# Wahrheitswert (Boolean)
ist_aktiv = True

# Ausgabe
print(begruessung)
print(alter)
print(preis)
print(ist_aktiv)

Ausgabe:

Text
Hallo zusammen!
25
19.99
True

Die verschiedenen Datentypen (String, Integer, Float, Boolean) lernst du im nächsten Artikel genauer kennen.

Regeln für Variablennamen

Nicht jeder Name ist erlaubt. Python hat klare Regeln:

Erlaubt

  • Buchstaben (a-z, A-Z)
  • Zahlen (0-9) – aber nicht am Anfang
  • Unterstriche (_)
CorrectPython
name = "Anna"
name2 = "Bob"
benutzer_name = "Charlie"
_privat = "geheim"

Nicht erlaubt

  • Leerzeichen
  • Sonderzeichen (außer Unterstrich)
  • Zahlen am Anfang
  • Reservierte Wörter (z.B. print, if, for)
IncorrectPython
benutzer name = "Anna"   # Leerzeichen nicht erlaubt
2ter_platz = "Bob"       # Zahl am Anfang nicht erlaubt
benutzer-name = "Charlie" # Bindestrich nicht erlaubt
print = "Test"           # Reserviertes Wort
Tip
Verwende beschreibende Namen. alter ist besser als a. benutzer_name ist besser als bn. Dein zukünftiges Ich wird es dir danken.

Groß- und Kleinschreibung

Python unterscheidet zwischen Groß- und Kleinschreibung. name, Name und NAME sind drei verschiedene Variablen:

Python
name = "Anna"
Name = "Bob"
NAME = "Charlie"

print(name)   # Anna
print(Name)   # Bob
print(NAME)   # Charlie

Alle drei Varianten funktionieren technisch einwandfrei. In der Python-Community haben sich jedoch Konventionen etabliert – also Empfehlungen, wie man Namen schreiben sollte:

  • Normale Variablen: kleinbuchstaben mit Unterstrichen: benutzer_name
  • Konstanten (Werte, die sich nie ändern): GROSSBUCHSTABEN: MAX_VERSUCHE
Note
Konventionen sind keine Pflicht – dein Code funktioniert auch ohne sie. Sie machen den Code aber lesbarer, besonders wenn mehrere Personen daran arbeiten. Du wirst in fremdem Code verschiedene Stile sehen. Das ist kein Fehler, sondern einfach eine andere Schreibweise.

Werte ändern

Der Inhalt einer Variable kann sich ändern. Deshalb heißt sie variabel.

Python
punkte = 0
print(punkte)  # 0

punkte = 10
print(punkte)  # 10

punkte = 25
print(punkte)  # 25

Jede neue Zuweisung überschreibt den alten Wert. Der alte Wert ist dann weg.

Mit Variablen rechnen

Du kannst Variablen in Berechnungen verwenden:

Python
breite = 5
hoehe = 3
flaeche = breite * hoehe

print(flaeche)  # 15

Du kannst auch den aktuellen Wert einer Variable in der Berechnung verwenden und das Ergebnis wieder speichern:

Python
punkte = 10
punkte = punkte + 5  # 10 + 5 = 15
print(punkte)  # 15

punkte = punkte * 2  # 15 * 2 = 30
print(punkte)  # 30

Für solche Operationen gibt es Kurzschreibweisen:

CorrectPython
punkte = 10

punkte += 5   # Gleich wie: punkte = punkte + 5
print(punkte) # 15

punkte -= 3   # Gleich wie: punkte = punkte - 3
print(punkte) # 12

punkte *= 2   # Gleich wie: punkte = punkte * 2
print(punkte) # 24

Mehrere Variablen gleichzeitig

Du kannst mehreren Variablen in einer Zeile Werte zuweisen:

Python
# Gleicher Wert für alle
a = b = c = 0
print(a, b, c)  # 0 0 0

# Verschiedene Werte
x, y, z = 1, 2, 3
print(x, y, z)  # 1 2 3

Die zweite Variante ist praktisch, um Werte zu tauschen:

CorrectPython
a = 5
b = 10

# Werte tauschen
a, b = b, a

print(a)  # 10
print(b)  # 5

Variablen in Text einbauen

Oft willst du Variablen in einen Text einbauen. Dafür gibt es in Python mehrere Möglichkeiten.

String-Konkatenation (Verkettung)

Du kannst Strings mit dem + Operator aneinanderhängen:

Python
name = "Anna"
begruessung = "Hallo, ich bin " + name + "!"
print(begruessung)

Ausgabe:

Text
Hallo, ich bin Anna!
Warning
Bei der Konkatenation müssen alle Teile Strings sein. Zahlen musst du erst mit str() umwandeln: "Alter: " + str(25)

f-Strings

Eine modernere Methode sind f-Strings. Setze ein f vor den String und schreibe Variablen in geschweifte Klammern:

CorrectPython
name = "Anna"
alter = 25
begruessung = f"Hallo, ich bin {name} und {alter} Jahre alt."
print(begruessung)

Ausgabe:

Text
Hallo, ich bin Anna und 25 Jahre alt.

f-Strings haben mehrere Vorteile: Der Code ist übersichtlicher, Zahlen werden automatisch umgewandelt, und du kannst sogar Berechnungen in den Klammern durchführen:

Python
preis = 19.99
text = f"Preis mit Rabatt: {preis * 0.9} Euro"
print(text)
Tip
Beide Methoden funktionieren. String-Konkatenation ist einfacher zu verstehen, f-Strings sind bei komplexeren Texten übersichtlicher.

Häufige Fehler

Variable vor der Zuweisung verwenden

IncorrectPython
print(nachricht)  # Fehler! Variable existiert noch nicht
nachricht = "Hallo"

Lösung: Erst die Variable erstellen, dann verwenden.

Tippfehler im Namen

IncorrectPython
nachricht = "Hallo"
print(narchicht)  # Tippfehler: 'narchicht' statt 'nachricht'

Python kennt narchicht nicht und gibt einen NameError aus.

Anführungszeichen vergessen

IncorrectPython
name = Anna  # Fehler! Python sucht nach einer Variable namens Anna

Lösung: Text immer in Anführungszeichen setzen: name = "Anna"

Übung

Erstelle ein Programm, das folgende Ausgabe erzeugt (verwende Variablen und einen f-String):

Text
Produkt: Laptop
Preis: 899.99 Euro
Auf Lager: True

Eine mögliche Lösung:

Correctprodukt.pyPython
produkt = "Laptop"
preis = 899.99
auf_lager = True

print(f"Produkt: {produkt}")
print(f"Preis: {preis} Euro")
print(f"Auf Lager: {auf_lager}")

Zusammenfassung

Du hast in diesem Artikel gelernt:

  • Variablen speichern Werte unter einem Namen
  • Das = Zeichen weist einer Variable einen Wert zu
  • Variablennamen dürfen keine Leerzeichen oder Sonderzeichen enthalten
  • Python unterscheidet zwischen Groß- und Kleinschreibung
  • f-Strings ermöglichen das Einbauen von Variablen in Text

Im nächsten Artikel lernst du die verschiedenen Datentypen in Python kennen: Zahlen, Text, Wahrheitswerte und mehr.