Das Wichtigste in Kürze
- Stand Oktober 2026 ist Python 3.15.2 die aktuelle Version auf python.org; für die Grundlagen reicht jede aktuelle 3.x-Version.
- Mit dem REPL probierst du einzelne Zeilen aus, mit Skriptdateien (.py) baust du wiederverwendbare Programme.
- Listen, Dictionaries, Schleifen und Funktionen decken den Großteil der Anfängeraufgaben ab.
- Lege pro Projekt eine virtuelle Umgebung (venv) an, damit Pakete nicht kollidieren.
Python installieren und prüfen
Auf der Downloadseite von python.org steht Stand 28. Oktober 2026 Python 3.15.2 (veröffentlicht am 25. Oktober 2026) als aktuelle Version. Lade den Installer für dein System dort herunter und führe ihn aus. Unter Windows bietet die Seite unter anderem 64-Bit- und ARM64-Installer an; unter macOS und Linux findest du ebenfalls Pakete beziehungsweise Anleitungen auf der Downloadseite.
Ob die Installation geklappt hat, prüfst du im Terminal:
python --versionAuf manchen macOS- und Linux-Systemen heißt der Befehl python3. Als Ausgabe erscheint die Versionsnummer, zum Beispiel Python 3.13.14. Die Beispiele in diesem Artikel laufen mit jeder aktuellen 3.x-Version.
REPL oder Skript: Zwei Arten, Python auszuführen
Der REPL (Read-Eval-Print-Loop) ist eine interaktive Shell. Du startest ihn mit python, tippst eine Zeile und siehst sofort das Ergebnis. Das ist ideal zum Ausprobieren. Mit exit() verlässt du ihn wieder.
Ein Skript ist eine Textdatei mit der Endung .py. Du speicherst sie, zum Beispiel als hallo.py, und führst sie so aus:
python hallo.pyAlles, was du behalten willst, gehört in ein Skript. Der REPL ist dein Notizblock.
Variablen und Datentypen
Eine Variable ist ein Name für einen Wert. Du legst sie mit = an; einen Datentyp deklarierst du nicht, Python erkennt ihn selbst.
name = "Ada"
alter = 36
preis = 19.99
aktiv = True
print(type(name), type(alter), type(preis), type(aktiv))<class 'str'> <class 'int'> <class 'float'> <class 'bool'>Die vier Grundtypen: str (Text), int (ganze Zahl), float (Kommazahl, mit Punkt geschrieben) und bool (True oder False).
Beim Rechnen gibt es drei Operatoren, die Einsteiger gern verwechseln:
print(7 / 2, 7 // 2, 7 % 2, 2 ** 10)3.5 3 1 1024/ ist die normale Division, // die ganzzahlige Division, % der Rest und ** die Potenz.
Strings und f-Strings
Texte setzt du in einfache oder doppelte Anführungszeichen. Werte baust du am bequemsten mit f-Strings ein: ein f vor dem Text und Ausdrücke in geschweiften Klammern.
name = "Ada"
alter = 36
preis = 19.99
print(f"{name} ist {alter} Jahre alt.")
print(f"Brutto: {preis * 1.19:.2f} EUR")
print("python".upper(), " x ".strip(), "a,b,c".split(","))Ada ist 36 Jahre alt.
Brutto: 23.79 EUR
PYTHON x ['a', 'b', 'c']Hinter dem Doppelpunkt steht das Format: .2f bedeutet zwei Nachkommastellen. Die Methoden upper(), strip() und split() kommen aus der Standardbibliothek von str und liefern jeweils einen neuen Wert zurück.
Listen
Eine Liste speichert mehrere Werte in fester Reihenfolge.
zahlen = [3, 1, 2]
zahlen.append(5)
zahlen.sort()
print(zahlen, zahlen[0], zahlen[-1], zahlen[1:3], len(zahlen))[1, 2, 3, 5] 1 5 [2, 3] 4Der Index beginnt bei 0. zahlen[-1] liefert das letzte Element, zahlen[1:3] einen Ausschnitt (Start inklusive, Ende exklusive). Greifst du auf einen Index zu, den es nicht gibt, bekommst du einen IndexError, siehe unten.
Sehr verbreitet sind List Comprehensions, die eine Liste in einer Zeile aufbauen:
quadrate = [x * x for x in range(5)]
print(quadrate)[0, 1, 4, 9, 16]Dictionaries
Ein Dictionary ordnet Schlüsseln Werte zu. Du schlägst Dinge nicht über eine Position, sondern über einen Namen nach.
person = {"name": "Ada", "stadt": "London"}
person["land"] = "UK"
print(person["name"], person.get("alter", "unbekannt"))
for k, v in person.items():
print(k, "->", v)Ada unbekannt
name -> Ada
stadt -> London
land -> UKperson["alter"] würde einen KeyError auslösen, weil der Schlüssel fehlt. person.get("alter", "unbekannt") liefert stattdessen den Ersatzwert.
Bedingungen und Schleifen
Mit if, elif und else entscheidest du, welcher Block läuft. Python erkennt Blöcke an der Einrückung, üblich sind vier Leerzeichen.
punkte = 72
if punkte >= 90:
note = "sehr gut"
elif punkte >= 50:
note = "bestanden"
else:
note = "nicht bestanden"
print(note)bestandenEine for-Schleife läuft über eine Folge, eine while-Schleife, solange eine Bedingung gilt:
for i in range(3):
print(i)
n = 3
while n > 0:
n -= 1
print(n)0
1
2
0range(3) erzeugt die Zahlen 0, 1 und 2. Bei while musst du selbst dafür sorgen, dass die Bedingung irgendwann falsch wird, sonst läuft die Schleife endlos.
Funktionen
Eine Funktion bündelt Code unter einem Namen. Parameter können Standardwerte haben.
def netto(brutto, steuer=0.19):
return brutto / (1 + steuer)
print(round(netto(119), 2))100.0Funktionen machen Code testbar und wiederverwendbar. Wenn du dieselben drei Zeilen zum zweiten Mal kopierst, ist es Zeit für eine Funktion.
Module, venv und pip
Die Standardbibliothek bringt viele Module mit, die du mit import lädst, zum Beispiel csv, json, datetime oder pathlib. Zusätzliche Pakete von Dritten installierst du mit pip.
Damit Pakete verschiedener Projekte sich nicht in die Quere kommen, legst du pro Projekt eine virtuelle Umgebung an. Die Python-Dokumentation beschreibt dafür das Modul venv:
python -m venv .venvAktiviert wird sie je nach System unterschiedlich (laut Python-Dokumentation):
| System | Shell | Befehl |
|---|---|---|
| macOS/Linux | bash, zsh | source .venv/bin/activate |
| Windows | cmd.exe | .venv\Scripts\activate.bat |
| Windows | PowerShell | .venv\Scripts\Activate.ps1 |
Die Aktivierung ist optional; Skripte in der Umgebung laufen auch ohne sie. Blockiert PowerShell das Skript Activate.ps1, nennt die Dokumentation eine Anpassung der Ausführungsrichtlinie für deinen Benutzer (Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser). Mit deactivate verlässt du die Umgebung. Ein Paket installierst du anschließend mit pip install paketname; das Beispiel unten kommt ganz ohne Fremdpakete aus.
Ein komplettes Skript: CSV auswerten
Jetzt kombinieren wir alles. Die Datei bestellungen.csv enthält fünf Bestellzeilen:
datum,produkt,menge,preis
2026-10-01,Tastatur,2,49.90
2026-10-01,Maus,5,19.50
2026-10-02,Tastatur,1,49.90
2026-10-03,Monitor,1,219.00
2026-10-03,Maus,3,19.50Das Skript auswertung.py summiert den Umsatz pro Produkt und sortiert absteigend:
import csv
from collections import defaultdict
umsatz = defaultdict(float)
with open("bestellungen.csv", newline="", encoding="utf-8") as datei:
for zeile in csv.DictReader(datei):
umsatz[zeile["produkt"]] += int(zeile["menge"]) * float(zeile["preis"])
for produkt, summe in sorted(umsatz.items(), key=lambda p: p[1], reverse=True):
print(f"{produkt:<10} {summe:>8.2f} EUR")
print(f"{'Gesamt':<10} {sum(umsatz.values()):>8.2f} EUR")Monitor 219.00 EUR
Maus 156.00 EUR
Tastatur 149.70 EUR
Gesamt 524.70 EURWas passiert hier: csv.DictReader liefert jede Zeile als Dictionary mit den Spaltennamen als Schlüssel. defaultdict(float) legt für unbekannte Schlüssel automatisch den Wert 0.0 an, sodass du direkt mit += summieren kannst. with open(...) schließt die Datei zuverlässig wieder. Die sorted-Zeile sortiert die Paare nach der Summe. Genau diese Mischung aus Datei lesen, Daten gruppieren und formatiert ausgeben ist typisch für Automatisierungsaufgaben, etwa wenn du Exporte aus Marketing-Tools auswertest.
Typische Anfängerfehler
IndentationError. Fehlt die Einrückung nach einem Doppelpunkt, bricht Python ab:
File "c.py", line 2
print("x")
^^^^^
IndentationError: expected an indented block after 'if' statement on line 1IndexError. Du greifst auf eine Listenposition zu, die nicht existiert:
IndexError: list index out of rangeTypeError. Du mischst Typen, die sich so nicht verbinden lassen, zum Beispiel "5" + 5:
TypeError: can only concatenate str (not "int") to strLies Fehlermeldungen von unten nach oben: Die letzte Zeile nennt den Fehlertyp, darüber steht die Stelle im Code.
Veränderliche Standardargumente. Dieser Fehler ist tückisch, weil er keine Fehlermeldung erzeugt. Ein Standardwert wie [] wird nur einmal beim Definieren der Funktion angelegt und bei jedem Aufruf wiederverwendet:
def add(item, liste=[]):
liste.append(item)
return liste
print(add(1))
print(add(2))[1]
[1, 2]Der zweite Aufruf enthält noch die 1 vom ersten. Das übliche Muster ist None als Standardwert und eine frische Liste im Funktionskörper:
def add(item, liste=None):
if liste is None:
liste = []
liste.append(item)
return liste
print(add(1))
print(add(2))[1]
[2]Praxis-Tipp: Tippe die Beispiele ab, statt sie zu kopieren, und ändere dann bewusst einzelne Werte. Gehe das Skript außerdem einmal mit einer absichtlich kaputten Zeile durch. Wer Fehlermeldungen früh lesen kann, lernt schneller.
Wie geht es weiter?
Nach diesen Grundlagen ist das offizielle Python-Tutorial auf docs.python.org der nächste Schritt. Es ist für Leser mit Programmiergrundlagen gedacht und behandelt unter anderem Datenstrukturen, Module, Ein- und Ausgabe, Fehlerbehandlung und Klassen. Bist du noch unsicher, ob Python überhaupt zu deinem Ziel passt, hilft die Entscheidungshilfe zur ersten Programmiersprache. Lege deine Skripte früh unter Versionskontrolle, wie in den wichtigsten Git-Befehlen beschrieben. Und wenn du mit Python Daten von Diensten abrufen willst, erklärt der Artikel zur API-Schnittstelle, wie Anfragen, JSON und Webhooks zusammenhängen.
Dein konkreter nächster Schritt: Speichere die Beispieldatei bestellungen.csv mit einer eigenen Spalte, zum Beispiel kategorie, und erweitere auswertung.py so, dass der Umsatz pro Kategorie statt pro Produkt ausgegeben wird. Alle Bausteine dafür hast du in diesem Artikel gesehen. Eine Übersicht weiterer Themen findest du im Ressort Programmierung.
Häufige Fragen
Brauche ich Mathe-Kenntnisse für Python?
Für die Grundlagen reichen die vier Grundrechenarten. Mathematik wird erst relevant, wenn du dich auf Bereiche wie Statistik oder maschinelles Lernen spezialisierst.
Python 2 oder Python 3?
Lerne Python 3. Alle aktuellen Release-Seiten, Tutorials und Bibliotheken beziehen sich auf Python 3.
Welchen Editor soll ich nehmen?
Für den Einstieg genügt jeder Texteditor mit Syntaxhervorhebung und ein Terminal. Wichtiger als das Werkzeug ist, dass du regelmäßig kleine Programme schreibst.
Quellen
- Download Python python.org · abgerufen am 28. Oktober 2026
- The Python Tutorial Python Software Foundation (docs.python.org) · abgerufen am 28. Oktober 2026
- venv — Creation of virtual environments Python Software Foundation (docs.python.org) · abgerufen am 28. Oktober 2026