Suchen

Tutorial · Programmierung & Entwicklung

Python lernen: Die Grundlagen für Einsteiger Schritt für Schritt

Du installierst Python, schreibst dein erstes Skript und lernst die Bausteine, die in fast jedem Python-Programm vorkommen – mit Code, den du direkt abtippen kannst.

Python-Quelltext in einem Code-Editor mit dunklem Farbschema

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:

Shell
python --version

Auf 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:

Shell
python hallo.py

Alles, 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.

Python
name = "Ada"
alter = 36
preis = 19.99
aktiv = True
print(type(name), type(alter), type(preis), type(aktiv))
Text
<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:

Python
print(7 / 2, 7 // 2, 7 % 2, 2 ** 10)
Text
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.

Python
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(","))
Text
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.

Python
zahlen = [3, 1, 2]
zahlen.append(5)
zahlen.sort()
print(zahlen, zahlen[0], zahlen[-1], zahlen[1:3], len(zahlen))
Text
[1, 2, 3, 5] 1 5 [2, 3] 4

Der 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:

Python
quadrate = [x * x for x in range(5)]
print(quadrate)
Text
[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.

Python
person = {"name": "Ada", "stadt": "London"}
person["land"] = "UK"
print(person["name"], person.get("alter", "unbekannt"))
for k, v in person.items():
    print(k, "->", v)
Text
Ada unbekannt
name -> Ada
stadt -> London
land -> UK

person["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.

Python
punkte = 72
if punkte >= 90:
    note = "sehr gut"
elif punkte >= 50:
    note = "bestanden"
else:
    note = "nicht bestanden"
print(note)
Text
bestanden

Eine for-Schleife läuft über eine Folge, eine while-Schleife, solange eine Bedingung gilt:

Python
for i in range(3):
    print(i)

n = 3
while n > 0:
    n -= 1
print(n)
Text
0
1
2
0

range(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.

Python
def netto(brutto, steuer=0.19):
    return brutto / (1 + steuer)

print(round(netto(119), 2))
Text
100.0

Funktionen 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:

Shell
python -m venv .venv

Aktiviert wird sie je nach System unterschiedlich (laut Python-Dokumentation):

SystemShellBefehl
macOS/Linuxbash, zshsource .venv/bin/activate
Windowscmd.exe.venv\Scripts\activate.bat
WindowsPowerShell.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:

Text
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.50

Das Skript auswertung.py summiert den Umsatz pro Produkt und sortiert absteigend:

Python
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")
Text
Monitor      219.00 EUR
Maus         156.00 EUR
Tastatur     149.70 EUR
Gesamt       524.70 EUR

Was 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:

Text
  File "c.py", line 2
    print("x")
    ^^^^^
IndentationError: expected an indented block after 'if' statement on line 1

IndexError. Du greifst auf eine Listenposition zu, die nicht existiert:

Text
IndexError: list index out of range

TypeError. Du mischst Typen, die sich so nicht verbinden lassen, zum Beispiel "5" + 5:

Text
TypeError: can only concatenate str (not "int") to str

Lies 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:

Python
def add(item, liste=[]):
    liste.append(item)
    return liste

print(add(1))
print(add(2))
Text
[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:

Python
def add(item, liste=None):
    if liste is None:
        liste = []
    liste.append(item)
    return liste

print(add(1))
print(add(2))
Text
[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

  1. Download Python python.org · abgerufen am 28. Oktober 2026
  2. The Python Tutorial Python Software Foundation (docs.python.org) · abgerufen am 28. Oktober 2026
  3. venv — Creation of virtual environments Python Software Foundation (docs.python.org) · abgerufen am 28. Oktober 2026