Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Lambda-Funktionen | Rekursion und Lambda-Funktionen
Python-Funktionen-Tutorial
Abschnitt 5. Kapitel 4
single

single

bookLambda-Funktionen

Swipe um das Menü anzuzeigen

Lambda-Funktionen sind anonyme Funktionen, das heißt, sie haben keinen Namen. Sie werden mit dem Schlüsselwort lambda erstellt und häufig verwendet, um kurze Funktionen zu definieren, bei denen eine Funktion direkt angegeben werden kann.

Die grundlegende Syntax einer Lambda-Funktion ist wie folgt:

lambda arguments: expression
  • lambda: das Schlüsselwort, das den Beginn einer Lambda-Funktionsdefinition anzeigt;
  • arguments: die Liste der Argumente, die die Funktion entgegennimmt;
  • expression: der Ausdruck, der ausgeführt wird, wenn die Funktion aufgerufen wird. Das Ergebnis des Ausdrucks wird als Funktionswert zurückgegeben.

Das Hauptmerkmal von Lambda-Funktionen ist ihre kompakte Syntax. Sie sind praktisch, wenn eine einfache Funktion definiert werden soll, ohne viel Code zu schreiben.

Einzelne und mehrere Argumente

Eine Lambda-Funktion kann ein oder mehrere Argumente annehmen:

1234567
# Single argument square = lambda x: x**2 print(square(5)) # 25 # Multiple arguments add = lambda x, y: x + y print(add(3, 5)) # 8
copy

Bedingte Logik in Lambda-Funktionen

Eine ternäre Ausdrucksweise ermöglicht das Hinzufügen von bedingter Logik innerhalb einer Lambda-Funktion:

123
is_even = lambda x: "even" if x % 2 == 0 else "odd" print(is_even(4)) # "even" print(is_even(7)) # "odd"
copy

Verwendung von Lambda mit eingebauten Funktionen

Ein häufiger Anwendungsfall ist die Kombination von Lambda-Funktionen mit eingebauten Funktionen wie map() und filter():

123456789
prices = [100, 200, 300] # Apply 10% discount to each price discounted = list(map(lambda price: price * 0.9, prices)) print(discounted) # [90.0, 180.0, 270.0] # Keep only prices above 150 expensive = list(filter(lambda price: price > 150, prices)) print(expensive) # [200, 300]
copy

Mit max() innerhalb einer Lambda-Funktion können Sonderfälle direkt im Ausdruck behandelt werden:

123
safe_value = lambda x: max(x, 0) # Returns 0 if x is negative print(safe_value(-5)) # 0 print(safe_value(10)) # 10
copy
lambda
Note
Hinweis

Lambda-Funktionen eignen sich am besten für kurze, einzelne Ausdruckslogik. Wenn eine Funktion mehrere Zeilen oder komplexe Logik erfordert, ist eine reguläre def-Funktion die bessere Wahl.

Aufgabe

Wischen, um mit dem Codieren zu beginnen

Es gibt eine Liste von Preisen (prices), und ein Lambda-Ausdruck soll implementiert werden, der einen Preis als Parameter übernimmt und 13 % Steuer davon abzieht.

  1. Definition eines Lambda-Ausdrucks mit dem Schlüsselwort lambda.
  2. Der Lambda-Ausdruck soll einen Parameter (price) annehmen.
  3. Ist der price negativ, gilt er als ungültig und es soll direkt innerhalb des Lambda-Ausdrucks mit der Funktion max() 0 zurückgegeben werden.
  4. Der Lambda-Ausdruck soll zuerst den Preis prüfen und dann 13 % abziehen vom gültigen Betrag.
  5. Mit einer List Comprehension soll apply_tax auf jedes Element in prices angewendet werden.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 4
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

some-alt