Python

Lesbare Syntax, riesiges Ökosystem - von Scripting bis KI, von Web-Apps bis Data Science

TL;DR

Eine Zeile: Python ist eine lesbare, vielseitige Sprache, mit der Sie weniger Code schreiben und mehr erreichen können.

Kernstärken:

  • Lesbare Syntax, die sich wie Englisch liest
  • Riesiges Ökosystem für Data Science, Web, Automatisierung, KI
  • Batterien inklusive - reichhaltige Standardbibliothek
  • Plattformübergreifend und anfängerfreundlich

Philosophy

Python folgt “The Zen of Python” - führen Sie import this aus, um es zu sehen. Schlüsselprinzipien:

  • Lesbarkeit zählt - Code wird mehr gelesen als geschrieben
  • Explizit ist besser als implizit - Keine versteckte Magie
  • Einfach ist besser als komplex - Probleme auf einfache Weise lösen
  • Es sollte einen offensichtlichen Weg geben - Anders als Perls TIMTOWTDI

Python ist dynamisch typisiert (keine Variablentypen deklarieren) und verwendet Einrückung statt Klammern. Dies erzwingt sauberen, lesbaren Code.

Quick Start

Install

# macOS
brew install python

# Ubuntu/Debian
sudo apt install python3 python3-pip

# Windows: Von python.org herunterladen, "Add to PATH" aktivieren

Verify (latest stable: 3.13.1)

python3 --version  # Python 3.13.1
pip3 --version

First Program

# hello.py
print("Hallo, Python!")
python3 hello.py

Interactive Mode

python3
>>> 2 + 2
4
>>> exit()

Language Essentials

Variables & Types

# Keine Typdeklarationen nötig
name = "Alice"          # str
age = 25                # int
height = 1.75           # float
is_student = True       # bool
items = [1, 2, 3]       # list
data = {"key": "value"} # dict

# Typ prüfen
type(name)  # <class 'str'>

Control Flow

# if/elif/else
if age >= 18:
    print("Erwachsen")
elif age >= 13:
    print("Teenager")
else:
    print("Kind")

# for-Schleife
for item in items:
    print(item)

for i in range(5):  # 0, 1, 2, 3, 4
    print(i)

# while-Schleife
while count > 0:
    count -= 1

Functions

def greet(name, greeting="Hallo"):
    """Docstring: beschreibt die Funktion"""
    return f"{greeting}, {name}!"

# Aufruf
greet("Welt")           # "Hallo, Welt!"
greet("Welt", "Hi")     # "Hi, Welt!"

# Lambda (anonyme Funktion)
square = lambda x: x ** 2

Error Handling

try:
    result = 10 / 0
except ZeroDivisionError:
    print("Kann nicht durch Null teilen")
except Exception as e:
    print(f"Fehler: {e}")
finally:
    print("Läuft immer")

List Comprehension

# Mächtige Einzeiler zum Transformieren von Listen
squares = [x**2 for x in range(10)]
evens = [x for x in range(10) if x % 2 == 0]

Gotchas

python vs python3

# Auf vielen Systemen zeigt 'python' auf Python 2 oder existiert nicht
# Immer explizit python3 verwenden
python3 --version

Indentation is syntax

# Python verwendet Einrückung (4 Leerzeichen) statt Klammern
if True:
    print("Richtig")  # 4 Leerzeichen
   print("Falsch")     # IndentationError!

Mutable default arguments

# FALSCH: Liste wird über Aufrufe geteilt
def add_item(item, items=[]):
    items.append(item)
    return items

# RICHTIG: None verwenden
def add_item(item, items=None):
    if items is None:
        items = []
    items.append(item)
    return items

Virtual environments

# Immer venv für Projekte verwenden, um Dependency-Konflikte zu vermeiden
python3 -m venv venv
source venv/bin/activate  # Linux/macOS
pip install package
deactivate

When to Choose

Am besten für:

  • Data Science & Machine Learning (pandas, scikit-learn, PyTorch)
  • Schnelle Skripte und Automatisierung
  • Web-Backends (Django, FastAPI, Flask)
  • Anfänger, die Programmieren lernen

Nicht ideal für:

  • Mobile Apps (Swift, Kotlin verwenden)
  • Hochleistungsrechnen (C++, Rust verwenden)
  • Frontend-Web (JavaScript verwenden)

Vergleich:

AspektPythonJavaScriptGo
TypisierungDynamischDynamischStatisch
GeschwindigkeitLangsamerMittelSchnell
AnwendungsfallDaten/KI/SkripteWeb/Full-StackBackend/CLI
LernkurveEinfachEinfachMittel

Next Steps

Ecosystem

Package Manager

pip install package        # Installieren
pip freeze > requirements.txt  # Deps exportieren
pip install -r requirements.txt  # Aus Datei installieren
  • Web: Django, FastAPI, Flask
  • Daten: pandas, NumPy, matplotlib
  • ML/KI: PyTorch, TensorFlow, scikit-learn
  • Automatisierung: requests, BeautifulSoup, Selenium