Python Logo

Python für Anfänger

Programmieren lernen von Null — Schritt für Schritt mit vielen Beispielen

13 Kapitel Python 3 Viele Beispiele Mit Ausgabe-Vorschau Offline verfügbar

1 · Was ist Python?

Python ist eine der beliebtesten Programmiersprachen der Welt — einfach lesbar, mächtig und vielseitig. Sie wird für Webentwicklung, Datenanalyse, KI, Automatisierung, Spiele und vieles mehr eingesetzt.

Einfach zu lernen

Plattformübergreifend

Riesige Bibliothek

Große Community

Wofür wird Python verwendet?
  • Webentwicklung — Django, Flask
  • Datenanalyse & KI — Pandas, NumPy, TensorFlow
  • Automatisierung — Skripte, Bots, Dateiverarbeitung
  • Desktop-Apps — tkinter, ttkbootstrap
  • Spielentwicklung — Pygame
  • Netzwerk & IT — Netzwerktools, Server-Scripts

2 · Installation

Python ist kostenlos und läuft auf Windows, macOS und Linux.

Download

Gehe auf python.org/downloads und lade die neueste Version herunter.

⚠️ Windows: Beim Installieren unbedingt "Add Python to PATH" anhaken!
Installation prüfen
Terminal / Eingabeaufforderung
python --version
# oder auf manchen Systemen:
python3 --version
Ausgabe
Python 3.12.0
Erstes Programm

Erstelle eine Datei hallo.py und schreibe:

hallo.py
print("Hallo, Welt!")

Ausführen im Terminal:

Terminal
python hallo.py
Ausgabe
Hallo, Welt!
💡 print() gibt Text auf dem Bildschirm aus. Das ist der wichtigste Befehl für Anfänger!

3 · Variablen

Variablen sind benannte Speicherplätze für Werte. In Python brauchst du kein Datentyp angeben — Python erkennt ihn automatisch.

Python
# Variable erstellen (= zuweisen)
name    = "Tino"
alter   = 42
groesse = 1.80
aktiv   = True

# Ausgabe
print(name)           # Tino
print(alter)          # 42
print(groesse)        # 1.8
print(aktiv)          # True

# Mehrere Werte auf einmal ausgeben
print("Name:", name, "| Alter:", alter)

# Variablen kann man jederzeit ändern
alter = 43
print("Nächstes Jahr:", alter)  # 43
Ausgabe
Tino 42 1.8 True Name: Tino | Alter: 42 Nächstes Jahr: 43
Eingabe vom Benutzer
Python
# input() wartet auf Eingabe des Benutzers
name = input("Wie heißt du? ")
print("Hallo,", name + "!")

# Zahl einlesen (input liefert immer Text → int() umwandeln)
alter = int(input("Wie alt bist du? "))
print("In 10 Jahren bist du", alter + 10, "Jahre alt.")
Beispiel-Ausgabe
Wie heißt du? Tino Hallo, Tino! Wie alt bist du? 42 In 10 Jahren bist du 52 Jahre alt.
Namensregeln für Variablen
Erlaubt ✅Nicht erlaubt ❌
mein_name, alter2, _wert2name (beginnt mit Zahl)
Groß-/Kleinschreibung: Name ≠ namemein-name (Bindestrich)
Unterstrich statt Leerzeichenfor, if, class (reserviert)

4 · Datentypen

Python kennt mehrere eingebaute Datentypen. Mit type() kannst du den Typ einer Variable abfragen.

Python
# Text (String)
name = "Tino"
print(type(name))         # <class 'str'>

# Ganze Zahl (Integer)
alter = 42
print(type(alter))        # <class 'int'>

# Kommazahl (Float)
groesse = 1.80
print(type(groesse))      # <class 'float'>

# Wahrheitswert (Boolean)
aktiv = True
print(type(aktiv))        # <class 'bool'>

# Kein Wert (NoneType)
wert = None
print(type(wert))         # <class 'NoneType'>
Strings (Text) — wichtige Methoden
Python
text = "Hallo, Welt!"

print(len(text))              # 13  — Länge
print(text.upper())           # HALLO, WELT!
print(text.lower())           # hallo, welt!
print(text.replace("Welt","Python"))  # Hallo, Python!
print(text.startswith("Hallo"))       # True
print(text.split(", "))               # ['Hallo', 'Welt!']
print(text[0])                # H  — erstes Zeichen
print(text[-1])               # !  — letztes Zeichen
print(text[0:5])              # Hallo  — Ausschnitt

# f-String (empfohlen für Ausgabe)
name = "Tino"
alter = 42
print(f"Ich heiße {name} und bin {alter} Jahre alt.")
# → Ich heiße Tino und bin 42 Jahre alt.
Typumwandlung
Python
x = "42"           # String
y = int(x)         # → Integer: 42
z = float(x)       # → Float: 42.0
a = str(100)       # → String: "100"
b = bool(0)        # → False
c = bool(1)        # → True
d = bool("")       # → False (leerer String)
e = bool("Hallo")  # → True

5 · Operatoren

Rechenoperatoren
Python
a, b = 10, 3

print(a + b)    # 13   — Addition
print(a - b)    # 7    — Subtraktion
print(a * b)    # 30   — Multiplikation
print(a / b)    # 3.33 — Division (immer float)
print(a // b)   # 3    — Ganzzahldivision
print(a % b)    # 1    — Rest (Modulo)
print(a ** b)   # 1000 — Potenz (10³)

# Kurzform
x = 5
x += 3   # x = x + 3 → 8
x -= 2   # x = x - 2 → 6
x *= 4   # x = x * 4 → 24
Vergleichsoperatoren
Python
print(5 == 5)   # True   — gleich
print(5 != 3)   # True   — ungleich
print(5 > 3)    # True   — größer
print(5 < 3)    # False  — kleiner
print(5 >= 5)   # True   — größer oder gleich
print(5 <= 4)   # False  — kleiner oder gleich
Logische Operatoren
Python
alter = 25
fuehrerschein = True

# and — beide Bedingungen müssen wahr sein
print(alter >= 18 and fuehrerschein)    # True

# or — mindestens eine Bedingung muss wahr sein
print(alter < 18 or fuehrerschein)     # True

# not — kehrt den Wert um
print(not fuehrerschein)                # False

6 · Kontrollfluss (if / elif / else)

Mit if kannst du Entscheidungen treffen. Einrückung (4 Leerzeichen) ist in Python Pflicht — sie ersetzt die geschweiften Klammern anderer Sprachen.

Python
alter = 20

if alter >= 18:
    print("Du bist volljährig.")
elif alter >= 16:
    print("Du darfst Bier trinken (in DE/AT).")
else:
    print("Du bist noch minderjährig.")

# → Du bist volljährig.
Praxisbeispiel — Note berechnen
Python
punkte = int(input("Punkte (0-100): "))

if punkte >= 90:
    note = "Sehr Gut (1)"
elif punkte >= 75:
    note = "Gut (2)"
elif punkte >= 60:
    note = "Befriedigend (3)"
elif punkte >= 50:
    note = "Genügend (4)"
else:
    note = "Nicht Genügend (5)"

print(f"Deine Note: {note}")
Beispiel-Ausgabe
Punkte (0-100): 82 Deine Note: Gut (2)
Einzeilige if-Bedingung (Ternary)
Python
alter = 20
status = "volljährig" if alter >= 18 else "minderjährig"
print(status)  # volljährig

7 · Schleifen

Schleifen wiederholen Code. Python kennt for und while.

for-Schleife
Python
# Zahlen 0–4
for i in range(5):
    print(i)

# Zahlen 1–10
for i in range(1, 11):
    print(i)

# In Zweier-Schritten
for i in range(0, 20, 2):
    print(i)   # 0 2 4 6 ... 18

# Liste durchlaufen
tiere = ["Katze", "Hund", "Vogel"]
for tier in tiere:
    print("Tier:", tier)

# Mit Index (enumerate)
for i, tier in enumerate(tiere):
    print(f"{i+1}. {tier}")
Ausgabe (letztes Beispiel)
1. Katze 2. Hund 3. Vogel
while-Schleife
Python
# Solange die Bedingung wahr ist
zaehler = 1
while zaehler <= 5:
    print(f"Durchgang {zaehler}")
    zaehler += 1

# Endlosschleife mit break
while True:
    eingabe = input("Tippe 'stop' zum Beenden: ")
    if eingabe == "stop":
        break
    print(f"Du hast '{eingabe}' eingegeben.")
break, continue, pass
Python
for i in range(10):
    if i == 3:
        continue   # Überspringe 3
    if i == 7:
        break      # Beende Schleife bei 7
    print(i)
# → 0 1 2 4 5 6

8 · Funktionen

Funktionen sind wiederverwendbare Code-Blöcke. Sie werden mit def definiert.

Python
# Einfache Funktion
def begruessen():
    print("Hallo!")

begruessen()   # Hallo!

# Funktion mit Parameter
def begruessen_person(name):
    print(f"Hallo, {name}!")

begruessen_person("Tino")   # Hallo, Tino!

# Funktion mit Rückgabewert
def addieren(a, b):
    return a + b

ergebnis = addieren(5, 3)
print(ergebnis)   # 8

# Standardwert für Parameter
def begruessen2(name, sprache="de"):
    if sprache == "de":
        print(f"Hallo, {name}!")
    elif sprache == "en":
        print(f"Hello, {name}!")

begruessen2("Tino")          # Hallo, Tino!
begruessen2("Tom", "en")     # Hello, Tom!
Mehrere Rückgabewerte
Python
def min_max(zahlen):
    return min(zahlen), max(zahlen)

kleinste, groesste = min_max([3, 1, 7, 2, 9, 4])
print("Kleinste:", kleinste)   # 1
print("Größte:",   groesste)   # 9
Praxisbeispiel — BMI-Rechner
Python
def bmi_berechnen(gewicht_kg, groesse_m):
    bmi = gewicht_kg / (groesse_m ** 2)
    return round(bmi, 1)

def bmi_bewertung(bmi):
    if bmi < 18.5:
        return "Untergewicht"
    elif bmi < 25:
        return "Normalgewicht"
    elif bmi < 30:
        return "Übergewicht"
    else:
        return "Adipositas"

gewicht = float(input("Gewicht in kg: "))
groesse = float(input("Größe in m:   "))

bmi = bmi_berechnen(gewicht, groesse)
print(f"Dein BMI: {bmi} ({bmi_bewertung(bmi)})")
Beispiel-Ausgabe
Gewicht in kg: 75 Größe in m: 1.80 Dein BMI: 23.1 (Normalgewicht)

9 · Listen & Dictionaries

Listen

Listen speichern mehrere Werte in einer geordneten Reihenfolge. Index beginnt bei 0.

Python
fruechte = ["Apfel", "Banane", "Kirsche"]

# Zugriff
print(fruechte[0])     # Apfel
print(fruechte[-1])    # Kirsche (letztes Element)
print(fruechte[0:2])   # ['Apfel', 'Banane']

# Hinzufügen
fruechte.append("Mango")      # ans Ende
fruechte.insert(1, "Birne")   # an Position 1

# Entfernen
fruechte.remove("Banane")     # nach Wert
del fruechte[0]               # nach Index

# Sortieren
zahlen = [5, 2, 8, 1, 9, 3]
zahlen.sort()
print(zahlen)   # [1, 2, 3, 5, 8, 9]

# Länge
print(len(fruechte))

# Prüfen ob enthalten
print("Mango" in fruechte)   # True/False

# List Comprehension (kompakte Schleife)
quadrate = [x**2 for x in range(1, 6)]
print(quadrate)   # [1, 4, 9, 16, 25]
Dictionaries

Dictionaries speichern Schlüssel-Wert-Paare — wie ein Wörterbuch oder eine Datenbank-Zeile.

Python
person = {
    "name":  "Tino",
    "alter": 42,
    "stadt": "Kirchberg"
}

# Zugriff
print(person["name"])          # Tino
print(person.get("alter"))     # 42  (sicherer Zugriff)

# Ändern / Hinzufügen
person["alter"] = 43
person["beruf"] = "Informatiker"

# Löschen
del person["stadt"]

# Alle Schlüssel / Werte
print(person.keys())    # dict_keys(['name', 'alter', 'beruf'])
print(person.values())  # dict_values(['Tino', 43, 'Informatiker'])

# Durchlaufen
for schluessel, wert in person.items():
    print(f"{schluessel}: {wert}")

# Liste von Dicts (typisch für Daten)
personen = [
    {"name": "Tino",  "alter": 42},
    {"name": "Anna",  "alter": 35},
    {"name": "Klaus", "alter": 58},
]
for p in personen:
    print(f"{p['name']} ist {p['alter']} Jahre alt.")

10 · Dateien lesen & schreiben

Python — Textdatei schreiben
# "w" = write (überschreibt), "a" = append (anhängen)
with open("notizen.txt", "w", encoding="utf-8") as datei:
    datei.write("Erste Zeile\n")
    datei.write("Zweite Zeile\n")

# Mehrere Zeilen auf einmal
zeilen = ["Montag\n", "Dienstag\n", "Mittwoch\n"]
with open("woche.txt", "w", encoding="utf-8") as datei:
    datei.writelines(zeilen)
Python — Textdatei lesen
# Gesamten Inhalt lesen
with open("notizen.txt", "r", encoding="utf-8") as datei:
    inhalt = datei.read()
    print(inhalt)

# Zeile für Zeile lesen
with open("notizen.txt", "r", encoding="utf-8") as datei:
    for zeile in datei:
        print(zeile.strip())   # strip() entfernt \n
CSV-Dateien (Tabellen)
Python
import csv

# Schreiben
personen = [
    ["Name", "Alter", "Stadt"],
    ["Tino", 42, "Kirchberg"],
    ["Anna", 35, "Innsbruck"],
]
with open("personen.csv", "w", newline="", encoding="utf-8") as f:
    writer = csv.writer(f)
    writer.writerows(personen)

# Lesen
with open("personen.csv", "r", encoding="utf-8") as f:
    reader = csv.DictReader(f)
    for zeile in reader:
        print(f"{zeile['Name']} wohnt in {zeile['Stadt']}")
Ausgabe
Tino wohnt in Kirchberg Anna wohnt in Innsbruck

11 · Module & Bibliotheken

Module sind fertige Code-Sammlungen. Python hat viele eingebaute Module — und mit pip kannst du externe Bibliotheken installieren.

Eingebaute Module
Python
import math
import random
import datetime
import os

# math — Mathematik
print(math.pi)            # 3.14159...
print(math.sqrt(144))     # 12.0
print(math.ceil(3.2))     # 4
print(math.floor(3.9))    # 3

# random — Zufallszahlen
print(random.randint(1, 6))      # Würfeln: 1–6
print(random.choice(["A","B","C"]))  # zufälliges Element
print(random.random())           # Zahl zwischen 0 und 1

# datetime — Datum & Zeit
jetzt = datetime.datetime.now()
print(jetzt.strftime("%d.%m.%Y %H:%M"))   # 29.05.2026 14:30

# os — Betriebssystem
print(os.getcwd())           # aktueller Ordner
print(os.path.exists("datei.txt"))  # prüfe ob Datei existiert
Externe Bibliotheken installieren
Terminal
pip install requests    # HTTP-Anfragen
pip install pandas      # Datenanalyse
pip install pillow      # Bildbearbeitung
Python — requests Beispiel
import requests

antwort = requests.get("https://api.github.com")
print(antwort.status_code)   # 200 = OK
daten = antwort.json()
print(daten["current_user_url"])

12 · Fehlerbehandlung

Fehler (Exceptions) können Programme zum Absturz bringen. Mit try/except fängst du sie ab und reagierst sauber.

Python
try:
    zahl = int(input("Gib eine Zahl ein: "))
    ergebnis = 100 / zahl
    print("Ergebnis:", ergebnis)

except ValueError:
    print("Fehler: Das ist keine gültige Zahl!")

except ZeroDivisionError:
    print("Fehler: Division durch Null!")

except Exception as e:
    print(f"Unbekannter Fehler: {e}")

else:
    print("Alles hat geklappt!")   # nur wenn kein Fehler

finally:
    print("Dieser Block läuft immer.")  # immer am Ende
Häufige Fehlertypen
FehlerUrsacheBeispiel
ValueErrorFalscher Wertint("abc")
ZeroDivisionErrorDivision durch 05 / 0
FileNotFoundErrorDatei fehltopen("x.txt")
IndexErrorIndex außerhalb[1,2][5]
KeyErrorSchlüssel fehlt{}["x"]
TypeErrorFalscher Typ"5" + 5
Eigene Ausnahmen auslösen
Python
def alter_pruefen(alter):
    if alter < 0:
        raise ValueError("Alter kann nicht negativ sein!")
    if alter > 150:
        raise ValueError("Unglaubwürdiges Alter!")
    return f"Alter {alter} ist gültig."

try:
    print(alter_pruefen(-5))
except ValueError as e:
    print("Fehler:", e)
# → Fehler: Alter kann nicht negativ sein!

13 · Praxisprojekt: Kontaktbuch

Ein vollständiges Konsolen-Kontaktbuch mit Speicherung in einer JSON-Datei — alle Grundlagen kombiniert.

kontaktbuch.py
import json
import os

DATEI = "kontakte.json"

def laden():
    """Kontakte aus JSON-Datei laden."""
    if os.path.exists(DATEI):
        with open(DATEI, "r", encoding="utf-8") as f:
            return json.load(f)
    return {}

def speichern(kontakte):
    """Kontakte in JSON-Datei speichern."""
    with open(DATEI, "w", encoding="utf-8") as f:
        json.dump(kontakte, f, ensure_ascii=False, indent=2)

def hinzufuegen(kontakte):
    name  = input("Name:    ").strip()
    tel   = input("Telefon: ").strip()
    email = input("E-Mail:  ").strip()
    if not name:
        print("Name darf nicht leer sein!")
        return
    kontakte[name] = {"telefon": tel, "email": email}
    speichern(kontakte)
    print(f"✅ {name} gespeichert.")

def anzeigen(kontakte):
    if not kontakte:
        print("Keine Kontakte vorhanden.")
        return
    print(f"\n{'Name':<20} {'Telefon':<20} {'E-Mail'}")
    print("-" * 60)
    for name, daten in sorted(kontakte.items()):
        print(f"{name:<20} {daten['telefon']:<20} {daten['email']}")

def suchen(kontakte):
    suchbegriff = input("Name suchen: ").lower()
    gefunden = {n: d for n, d in kontakte.items()
                if suchbegriff in n.lower()}
    if gefunden:
        anzeigen(gefunden)
    else:
        print("Kein Kontakt gefunden.")

def loeschen(kontakte):
    name = input("Welchen Kontakt löschen? ")
    if name in kontakte:
        del kontakte[name]
        speichern(kontakte)
        print(f"🗑 {name} gelöscht.")
    else:
        print("Kontakt nicht gefunden.")

def hauptmenu():
    kontakte = laden()
    while True:
        print("\n=== Kontaktbuch ===")
        print("1 — Kontakt hinzufügen")
        print("2 — Alle anzeigen")
        print("3 — Suchen")
        print("4 — Löschen")
        print("0 — Beenden")
        wahl = input("Auswahl: ")

        if wahl == "1":   hinzufuegen(kontakte)
        elif wahl == "2": anzeigen(kontakte)
        elif wahl == "3": suchen(kontakte)
        elif wahl == "4": loeschen(kontakte)
        elif wahl == "0":
            print("Auf Wiedersehen!")
            break
        else:
            print("Ungültige Eingabe.")

if __name__ == "__main__":
    hauptmenu()
🎉 Glückwunsch! Du hast Funktionen, Dictionaries, Dateien, JSON und Fehlerbehandlung kombiniert — das ist echter Python-Code!

🎓 Glückwunsch!

Du kennst jetzt alle Python-Grundlagen für Anfänger.

Variablen ✓ Datentypen ✓ if/else ✓ Schleifen ✓ Funktionen ✓ Listen ✓ Dictionaries ✓ Dateien ✓ Module ✓ Fehler ✓
Offizielle Docs