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.
name = "Anna"
print(name)Ausgabe:
AnnaWas passiert hier?
nameist der Name der Variable (die Beschriftung der Box)=ist der Zuweisungsoperator (er legt etwas in die Box)"Anna"ist der Wert (der Inhalt der Box)print(name)gibt den Inhalt der Variable aus
= 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:
# 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:
Hallo zusammen!
25
19.99
TrueDie 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 (_)
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)
benutzer name = "Anna" # Leerzeichen nicht erlaubt
2ter_platz = "Bob" # Zahl am Anfang nicht erlaubt
benutzer-name = "Charlie" # Bindestrich nicht erlaubt
print = "Test" # Reserviertes Wortalter 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:
name = "Anna"
Name = "Bob"
NAME = "Charlie"
print(name) # Anna
print(Name) # Bob
print(NAME) # CharlieAlle drei Varianten funktionieren technisch einwandfrei. In der Python-Community haben sich jedoch Konventionen etabliert – also Empfehlungen, wie man Namen schreiben sollte:
- Normale Variablen:
kleinbuchstabenmit Unterstrichen:benutzer_name - Konstanten (Werte, die sich nie ändern):
GROSSBUCHSTABEN:MAX_VERSUCHE
Werte ändern
Der Inhalt einer Variable kann sich ändern. Deshalb heißt sie variabel.
punkte = 0
print(punkte) # 0
punkte = 10
print(punkte) # 10
punkte = 25
print(punkte) # 25Jede neue Zuweisung überschreibt den alten Wert. Der alte Wert ist dann weg.
Mit Variablen rechnen
Du kannst Variablen in Berechnungen verwenden:
breite = 5
hoehe = 3
flaeche = breite * hoehe
print(flaeche) # 15Du kannst auch den aktuellen Wert einer Variable in der Berechnung verwenden und das Ergebnis wieder speichern:
punkte = 10
punkte = punkte + 5 # 10 + 5 = 15
print(punkte) # 15
punkte = punkte * 2 # 15 * 2 = 30
print(punkte) # 30Für solche Operationen gibt es Kurzschreibweisen:
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) # 24Mehrere Variablen gleichzeitig
Du kannst mehreren Variablen in einer Zeile Werte zuweisen:
# 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 3Die zweite Variante ist praktisch, um Werte zu tauschen:
a = 5
b = 10
# Werte tauschen
a, b = b, a
print(a) # 10
print(b) # 5Variablen 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:
name = "Anna"
begruessung = "Hallo, ich bin " + name + "!"
print(begruessung)Ausgabe:
Hallo, ich bin Anna!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:
name = "Anna"
alter = 25
begruessung = f"Hallo, ich bin {name} und {alter} Jahre alt."
print(begruessung)Ausgabe:
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:
preis = 19.99
text = f"Preis mit Rabatt: {preis * 0.9} Euro"
print(text)Häufige Fehler
Variable vor der Zuweisung verwenden
print(nachricht) # Fehler! Variable existiert noch nicht
nachricht = "Hallo"Lösung: Erst die Variable erstellen, dann verwenden.
Tippfehler im Namen
nachricht = "Hallo"
print(narchicht) # Tippfehler: 'narchicht' statt 'nachricht'Python kennt narchicht nicht und gibt einen NameError aus.
Anführungszeichen vergessen
name = Anna # Fehler! Python sucht nach einer Variable namens AnnaLösung: Text immer in Anführungszeichen setzen: name = "Anna"
Übung
Erstelle ein Programm, das folgende Ausgabe erzeugt (verwende Variablen und einen f-String):
Produkt: Laptop
Preis: 899.99 Euro
Auf Lager: TrueEine mögliche Lösung:
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.