Python für Einsteiger: Der pragmatische Einstieg in die Programmierung

Python ist seit Jahren eine der meistgenutzten Programmiersprachen der Welt – und das aus gutem Grund. Die Syntax ist lesbar, die Einstiegshürde niedrig, und trotzdem reicht das Ökosystem von kleinen Skripten bis zu großen KI- und Webanwendungen. Dieser Artikel zeigt den pragmatischen Einstieg: Was Python ausmacht, wie man es installiert und die ersten sinnvollen Programme schreibt.

Warum Python?

Python wurde 1991 von Guido van Rossum veröffentlicht und setzt von Anfang an auf Lesbarkeit. Einrückungen strukturieren den Code statt geschweifter Klammern – das erzwingt sauberen Stil. Drei Eigenschaften machen Python besonders attraktiv:

  • Große Standardbibliothek: Dateien, Netzwerk, JSON, Datenbanken – vieles ist ohne Zusatzpakete nutzbar.
  • Riesiges Ökosystem: Mit pip installiert man über 500.000 Pakete, von Web-Frameworks (Django, FastAPI) bis zu Datenanalyse (pandas) und KI (PyTorch, Transformers).
  • Breite Einsatzgebiete: Automatisierung, Web-APIs, Datenauswertung, Machine Learning und DevOps-Skripte.

Installation und erste Schritte

Unter Linux ist Python 3 meist vorinstalliert – prüfen mit:

python3 --version

Fehlt es, installiert man es über den Paketmanager (Debian/Ubuntu: sudo apt install python3 python3-pip, Arch: sudo pacman -S python python-pip). Unter Windows lädt man den Installer von python.org und aktiviert beim Installieren die Option „Add Python to PATH".

Das erste Programm als Datei hallo.py:

#!/usr/bin/env python3
name = input("Wie heißt du? ")
print(f"Hallo {name}, willkommen bei Python!")

Ausführen mit python3 hallo.py. Die f-Zeichenkette setzt Variablen direkt in den Text – eine der elegantesten Python-Eigenschaften.

Variablen, Datentypen und Kontrollfluss

Python ist dynamisch typisiert: Variablen brauchen keine Typdeklaration.

alter = 30              # int
name = "Michael"        # str
groesse = 1.82          # float
ist_admin = True        # bool
hobbys = ["Linux", "KI"]  # Liste

if alter >= 18 and ist_admin:
    print("Zugriff erlaubt")
for hobby in hobbys:
    print(f"- {hobby}")

Listen, Tupel, Dictionaries und Mengen decken die meisten Datenstrukturen ab. Ein Dictionary (ähnlich einer JSON-Struktur):

server = {"name": "web01", "cpu": 4, "ram_gb": 16}
print(server["name"])
server["ram_gb"] = 32

Funktionen und Module

Funktionen kapseln Logik und machen Code wiederverwendbar:

def quadrat(x):
    """Berechnet das Quadrat einer Zahl."""
    return x * x

print(quadrat(7))  # 49

Eigene Module sind einfach Python-Dateien. Der Import funktioniert über den Dateinamen ohne Endung:

import quadratmodul   # lädt quadratmodul.py
from quadratmodul import quadrat

Virtuelle Umgebungen – der wichtigste Reflex

Pro Projekt eine eigene Umgebung: So kollidieren Paketversionen nicht. Ab Python 3.3 ist venv an Bord:

python3 -m venv .venv
source .venv/bin/activate   # Linux/macOS
# Windows: .venv\Scripts\activate
pip install requests

Die aktivierte Umgebung erkennt man am Präfix (.venv) in der Shell. Verlassen mit deactivate. In Produktion und CI/CD sind virtuelle Umgebungen oder Container (Docker) Pflicht, damit Builds reproduzierbar bleiben.

Praxisbeispiel: Web-Request mit requests

import requests

antwort = requests.get("https://api.github.com", timeout=10)
if antwort.status_code == 200:
    daten = antwort.json()
    print(f"API läuft: {daten.get('current_user_url')}")
else:
    print(f"Fehler: {antwort.status_code}")

Das Muster – Request, Status prüfen, JSON parsen – wiederholt sich in unzähligen Automatisierungen. Zusammen mit schedule oder Cron lassen sich daraus vollständige Monitoring- und Reporting-Skripte bauen (siehe auch Systemadministration).

Typische Anfängerfehler und wie man sie vermeidet

  • Einrückung mischen: Nie Tabs und Leerzeichen kombinieren; der Editor sollte Tabs in Leerzeichen umwandeln.
  • Pakete global installieren: Immer venv verwenden – sonst „funktioniert es auf meinem Rechner, aber nicht auf dem Server".
  • Ausnahmen verschlucken: Ein nacktes except: versteckt Fehler. Besser: except requests.RequestException as e: und den Fehler loggen.
  • Python 2 denken: print ist eine Funktion, Division / liefert Float. Moderner Code zielt auf Python 3.10+.

Dateien lesen und schreiben – die Basis jeder Automatisierung

Kaum ein Skript kommt ohne Dateizugriff aus. Python macht das angenehm kurz:

# Datei zeilenweise lesen
with open("server.log", encoding="utf-8") as f:
    for zeile in f:
        if "ERROR" in zeile:
            print(zeile.strip())

# Datei schreiben
with open("bericht.txt", "w", encoding="utf-8") as f:
    f.write("Ergebnis: OK\n")

Das with-Konstrukt schließt die Datei automatisch – auch bei Fehlern. Für strukturierte Daten ist JSON der Standard:

import json
daten = {"server": "web01", "status": "online"}
with open("status.json", "w", encoding="utf-8") as f:
    json.dump(daten, f, indent=2)

with open("status.json", encoding="utf-8") as f:
    geladen = json.load(f)
print(geladen["status"])

Dieses Muster – Logs durchsuchen, Ergebnisse als JSON ablegen – deckt einen großen Teil der täglichen Server-Automatisierung ab. Kombiniert mit schedule oder Cron entstehen daraus vollwertige Report- und Monitoring-Skripte.

Fehler behandeln statt abstürzen

Produktiver Code fängt Fehler gezielt ab:

try:
    antwort = requests.get(url, timeout=10)
    antwort.raise_for_status()
except requests.Timeout:
    print("Zeitüberschreitung – Server antwortet nicht")
except requests.HTTPError as e:
    print(f"HTTP-Fehler: {e.response.status_code}")
else:
    print("Erfolgreich geladen")

Die Regel: So spezifisch wie möglich fangen, den Fehler loggen, und dem Nutzer eine verständliche Meldung geben. Ein pauschales except Exception am Ende eines Skripts ist nur als letztes Auffangnetz akzeptabel.

Weiterführende Schritte

Wer Python ernsthaft einsetzen will, sollte als Nächstes Web-APIs mit FastAPI oder Flask bauen, Daten mit pandas auswerten oder sich der Automatisierung von Serveraufgaben widmen. Für die Arbeit mit Sprachmodellen und KI-Agenten ist Python ohnehin die dominierende Sprache – dazu mehr unter KI & Automatisierung.

Verwandte Artikel: PHP für Webentwicklung · Linux-Systemadministration · KI & Automatisierung