Was ist eine Variable?
Beim Programmieren ist eine Variable ein benannter Platz im Speicher, der einen Wert enthält, den dein Programm während der Ausführung lesen und ändern kann. Über den Namen, etwa score oder user_name, greift der Code auf den Wert zu, ohne wissen zu müssen, wo er gespeichert ist.
Aktualisiert am 24. September 2026
Ein Spiel, das den Punktestand zählt, muss sich eine Zahl merken, etwas dazuzählen und sie am Ende anzeigen. Die Zahl kann nicht im Code stehen, denn sie ist bei jedem Spiel anders. Also reserviert das Programm einen Platz im Speicher, gibt ihm einen Namen wie score und verwendet diesen Namen immer dann, wenn es den aktuellen Wert braucht.
Wie eine Variable funktioniert
Während eines Programms passieren mit einer Variablen drei Dinge:
- Anlegen. Das Programm reserviert Speicher für einen Wert und verknüpft einen Namen damit. In Python geschieht das, wenn du dem Namen zum ersten Mal etwas zuweist. In Java und C deklarierst du die Variable zuerst mit einem Typ, etwa
int score;. - Zuweisung. Mit
=wird ein Wert unter dem Namen gespeichert. Eine erneute Zuweisung ersetzt den alten Wert. - Verwendung. Überall, wo der Name in einem Ausdruck steht, liest das Programm den Wert, den er in diesem Moment enthält.
Start: 0
After one point: 10
Doubled: 20
In jeder Zuweisungszeile wird zuerst die rechte Seite berechnet, mit dem Wert, den score in diesem Moment hat. Dann wird das Ergebnis wieder unter demselben Namen gespeichert. Der Name bleibt gleich, während der Wert darin variiert.
Das Gleichheitszeichen bedeutet „speichern“
In der Mathematik hat x = x + 1 keine Lösung. In einem Programm ist es eine gewöhnliche Anweisung: Nimm den aktuellen Wert von x, addiere 1 und speichere das Ergebnis in x. Das Zeichen = ist der Zuweisungsoperator, und es bewegt immer einen Wert von der rechten Seite in den Namen auf der linken.
Um zu fragen, ob zwei Werte gleich sind, verwenden Programmiersprachen einen anderen Operator, ==. Der Ausdruck x == 5 ändert nichts; er ergibt True oder False, einen Boolean.
Die mathematische Bedeutung ist verwandt, aber nicht dieselbe. In der Algebra steht das x in 2x + 3 = 7 für eine unbekannte Zahl, nach der du auflöst. In einem Programm enthält eine Variable einen bekannten Wert, der sich während der Ausführung ändern kann.
Variablen und Datentypen
Jeder Wert hat einen Typ: eine ganze Zahl, eine Dezimalzahl, ein Stück Text, ein Boolean, eine Liste. Sprachen unterscheiden sich darin, ob die Variable selbst einen Typ hat.
In Python und JavaScript trägt der Wert den Typ, und eine Variable kann im Lauf der Zeit Werte verschiedener Typen enthalten. Das nennt man dynamische Typisierung:
42 <class 'int'>
forty-two <class 'str'>
In Java, C und C++ hat die Variable einen festen Typ, den du bei der Deklaration wählst. Das ist statische Typisierung: Der Compiler lehnt Code ab, der Text in einer int-Variablen speichern will, noch bevor das Programm überhaupt läuft.
int age = 30; // Java: type, name, value
String name = "Rosa";
let age = 30; // JavaScript: can be reassigned
const PI = 3.14159; // cannot be reassigned
In C bestimmt der Typ auch, wie viel Speicher die Variable belegt. Ein int hat auf fast jedem aktuellen System 4 Bytes, ein double 8 und ein char genau 1. Um viele Werte unter einem Namen zu halten, etwa alle Punktestände eines Spiels, verwendest du ein Array oder eine Liste und greifst über die Position auf jeden Wert zu, etwa scores[0].
Kisten und Etiketten
Ein verbreitetes Bild für eine Variable ist eine Kiste, die einen Wert enthält. Für C passt dieses Bild gut: int x; ist wirklich ein fester Speicherbereich, und y = x; kopiert den Wert in einen zweiten Bereich.
Python funktioniert eher mit Etiketten. Jeder Wert ist ein Objekt, und eine Variable ist ein Name, der an einem davon hängt. Der Unterschied zeigt sich, wenn zwei Namen auf dieselbe Liste verweisen:
5 6
[1, 2, 3, 4]
Bei den Zahlen erzeugt y = y + 1 eine neue Zahl und hängt das Etikett y daran, also verweist x weiterhin auf 5. Bei der Liste kopiert b = a gar nichts: Beide Namen verweisen auf eine einzige Liste, also zeigt sich eine Änderung über b auch über a. Schreib b = a.copy(), wenn du eine eigene Liste willst. Objekte und Arrays in Java und JavaScript verhalten sich genauso.
Gültigkeitsbereich: wo eine Variable existiert
Eine Variable ist nur in einem Teil des Programms sichtbar, ihrem Gültigkeitsbereich (Scope). Eine Variable, die in einer Funktion angelegt wird, ist lokal: Sie existiert, während die Funktion läuft, und ist weg, sobald die Funktion zurückkehrt. Eine Variable, die auf oberster Ebene einer Datei angelegt wird, ist global und kann überall in dieser Datei gelesen werden.
Über lokale Variablen lässt sich leichter nachdenken, weil jede Zeile, die sie ändern kann, in einer einzigen Funktion steht. Programme, die sich auf viele globale Variablen stützen, sind aus dem umgekehrten Grund schwerer zu debuggen.
Variablen benennen
Gute Namen sagen, was der Wert bedeutet: total_price, is_logged_in, retries_left. Die meisten Sprachen teilen dieselben Regeln:
- ein Name besteht aus Buchstaben, Ziffern und Unterstrichen und darf nicht mit einer Ziffer beginnen;
- ein Name darf kein Schlüsselwort der Sprache sein, etwa
if,foroderclass; - Namen unterscheiden Groß- und Kleinschreibung, also sind
totalundTotalzwei verschiedene Variablen.
Der Stil hängt von der Sprache ab. Python verwendet snake_case (user_name), Java und JavaScript verwenden camelCase (userName). Werte, die sich nie ändern sollen, werden oft in Großbuchstaben benannt, etwa MAX_SIZE.
Typische Fehler
Eine Variable verwenden, bevor sie einen Wert hat. Python bricht mit einem NameError ab:
NameError: name 'total' is not defined
Derselbe Fehler erscheint, wenn ein Name falsch geschrieben ist, denn totla und total sind für den Computer verschiedene Namen.
= schreiben, wo du == meinst. In Python ist if x = 5: ein Syntaxfehler, also merkst du es sofort. In C und JavaScript ist if (x = 5) gültiger Code: Er speichert 5 in x, und die Bedingung ist immer wahr. Das Programm läuft und liefert falsche Ergebnisse, ein Logikfehler, dessen Suche lange dauern kann.
Einer Variablen zwei Aufgaben geben. Eine Variable, die oben in einer Funktion einen Preis und unten eine Anzahl enthält, funktioniert zwar, aber jeder Leser muss verfolgen, welche Bedeutung gerade gilt. Gib jeder Bedeutung ihren eigenen Namen.
Wie es weitergeht
Variablen enthalten Werte, und der nächste Schritt ist, zu wissen, welche Arten von Werten es gibt: Lies, was ein Boolean ist, für wahr und falsch, und was ein Array ist, für viele Werte unter einem Namen. Die Anleitung zu Python-Variablen behandelt Zuweisung, Namensregeln und Mehrfachzuweisung genauer, und im Python-Kurs schreibst und änderst du Variablen ab der ersten Lektion.
Häufig gestellte Fragen
Was ist eine Variable in Python?
age = 30, ohne Typdeklaration, und derselbe Name kann später auf einen Wert eines anderen Typs verweisen. Nach Konvention werden Variablennamen in Python in snake_case geschrieben.Wie lautet eine einfache Definition von Variable?
Wie erklärt man einem Kind, was eine Variable ist?
score, und die Kiste enthält immer genau eine Sache. Du kannst hineinschauen, was darin ist, oder es herausnehmen und etwas Neues hineinlegen, und das Etikett bleibt dasselbe.Was ist der Unterschied zwischen einer Variablen und einer Konstanten?
final, JavaScript und C verwenden const. Python erzwingt keine Konstanten, deshalb schreiben Programmierer den Namen in Großbuchstaben, etwa MAX_USERS, um zu zeigen, dass er sich nicht ändern soll.