0Pricing
Python Academy · Lektion

Funktionen erster Klasse

Funktionen übergeben und zurückgeben

Funktionen erster Klasse ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Funktionen sind Objekte

In Python sind Funktionen Objekte erster Klasse. Sie können Variablen zugewiesen, in Datenstrukturen gespeichert, als Argumente übergeben und von anderen Funktionen zurückgegeben werden – genau wie Zahlen oder Zeichenketten.

def greet():
    return 'hi'
print(type(greet))
print(greet())

Funktionen Variablen zuweisen

Ein Funktionsname ist lediglich eine Referenz. Weisen Sie ihn einem anderen Namen zu und rufen Sie die Funktion über diesen Namen auf – beim Verweisen auf die Funktion selbst verwenden Sie keine Klammern.

def shout(text):
    return text.upper()
yell = shout
print(yell('hello'))

Funktionen in Datenstrukturen

Sie können Funktionen in Listen oder dicts speichern, sie anschließend nachschlagen und dynamisch aufrufen.

def add(a, b):
    return a + b
def sub(a, b):
    return a - b
ops = {'+': add, '-': sub}
print(ops['+'](10, 4))
print(ops['-'](10, 4))

Funktionen als Argumente übergeben

Eine Funktion, die eine andere Funktion als Parameter entgegennimmt, wird als Funktion höherer Ordnung bezeichnet. Die übergebene Funktion ist das Argument.

def apply(func, value):
    return func(value)
print(apply(str.upper, 'cat'))
print(apply(len, 'cat'))

map verwendet Funktionen erster Klasse

Integrierte Funktionen wie map beruhen darauf, Funktionen weiterzugeben. Hier wird eine Funktion auf jedes Element angewendet.

def square(n):
    return n * n
result = list(map(square, [1, 2, 3, 4]))
print(result)

filter nimmt ein Prädikat entgegen

filter behält die Elemente, für die die übergebene Funktion True zurückgibt. Die Funktion entscheidet, welche Elemente erhalten bleiben.

def is_even(n):
    return n % 2 == 0
print(list(filter(is_even, range(10))))

Eine Funktion zurückgeben

Eine Funktion kann eine andere Funktion zurückgeben. Die zurückgegebene Funktion kann anschließend separat aufgerufen werden.

def get_greeter():
    def greeter(name):
        return 'Hello ' + name
    return greeter
f = get_greeter()
print(f('Ada'))

Funktionen als Sortierschlüssel

sorted akzeptiert eine key-Funktion, die jedes Element auf einen Wert abbildet, der für die Sortierreihenfolge verwendet wird.

words = ['banana', 'fig', 'cherry']
by_length = sorted(words, key=len)
print(by_length)

Lambdas als schnelle Funktionen

Ein lambda ist eine kleine anonyme Funktion. Es eignet sich hervorragend für die einmalige Verwendung als Argument.

nums = [5, 1, 4, 2]
print(sorted(nums, key=lambda x: -x))

Funktionen haben Attribute

Da Funktionen Objekte sind, besitzen sie Attribute wie __name__ sowie einen Docstring in __doc__.

def hello():
    'Says hello.'
    return 'hi'
print(hello.__name__)
print(hello.__doc__)

Eine Dispatch-Tabelle erstellen

Wenn Sie diese Konzepte kombinieren, können Sie eine übersichtliche Dispatch-Tabelle erstellen, die anhand eines Namens eine Funktion auswählt – ganz ohne lange if/elif-Ketten.

def start():
    return 'starting'
def stop():
    return 'stopping'
actions = {'start': start, 'stop': stop}
command = 'start'
print(actions[command]())

Wissenscheck

Was bedeutet es in Python, dass Funktionen Objekte erster Klasse sind?

Rückblick: Funktionen erster Klasse

Sie haben gelernt, dass in Python:

  • Funktionen Objekte sind, die Sie zuweisen, speichern, übergeben und zurückgeben können.
  • Funktionen höherer Ordnung andere Funktionen entgegennehmen oder zurückgeben (map, filter, der key von sorted).
  • lambda schnelle anonyme Funktionen erstellt.
  • dies übersichtliche Dispatch-Tabellen anstelle langer Bedingungen ermöglicht.
ops = {'double': lambda x: x * 2}
print(ops['double'](21))

Häufig gestellte Fragen

Ist die Lektion „Funktionen erster Klasse“ kostenlos?

Ja — der vollständige Text von „Funktionen erster Klasse“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Funktionen erster Klasse“?

Funktionen übergeben und zurückgeben Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Python Academy zu starten?

Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Funktionen erster Klasse“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?

Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Funktionen erster Klasse
  2. Closures und freie Variablen
  3. nonlocal und veränderlicher Zustand
  4. Partielle Funktionen
← Zurück zu Python Academy