Python — Grundlagen
Kapitel 4 · Theorie

Funktionen & Lambda

def begruessung(name, sprache="de"):
    """Begrüßt eine Person je nach Sprache."""
    if sprache == "de":
        return f"Hallo {name}!"
    elif sprache == "en":
        return f"Hello {name}!"
    return f"Hi {name}!"

# Aufrufe
print(begruessung("Anna"))                # Hallo Anna!
print(begruessung("Bob", sprache="en"))   # Hello Bob!

*args und **kwargs — variable Argumente

def summe(*zahlen):           # *args = Tupel beliebiger Anzahl
    return sum(zahlen)

print(summe(1, 2, 3, 4))      # 10

def info(**daten):            # **kwargs = Dict
    for k, v in daten.items():
        print(f"{k}: {v}")

info(name="Anna", alter=28)

Lambda — kurze Funktionen inline

# Statt def quadrat(x): return x*x
quadrat = lambda x: x*x

# Häufig in map, filter, sorted
zahlen = [3, 1, 4, 1, 5, 9, 2, 6]
sortiert = sorted(zahlen, key=lambda x: -x)   # absteigend
gerade = list(filter(lambda x: x % 2 == 0, zahlen))
📚
Default-Args FalleNIE veränderliche Default-Werte! def f(x=[]) ist gefährlich — die Liste wird zwischen Aufrufen geteilt. Stattdessen def f(x=None) und in der Funktion x = x or [].
Zurück zu Informatik