Grundlagen von Lambda-Funktionen
Was ist eine Lambda-Funktion?
Eine Lambda-Funktion in Python ist eine kleine, anonyme Funktion, die eine beliebige Anzahl von Argumenten haben kann, aber nur einen Ausdruck enthalten darf. Im Gegensatz zu regulären Funktionen, die mit dem Schlüsselwort def
definiert werden, werden Lambda-Funktionen mit dem Schlüsselwort lambda
erstellt.
Grundlegende Syntax
Die grundlegende Syntax einer Lambda-Funktion lautet:
lambda arguments: expression
Einfache Beispiele
Lambda-Funktion mit einem Argument
## Square a number
square = lambda x: x ** 2
print(square(5)) ## Output: 25
Lambda-Funktion mit mehreren Argumenten
## Add two numbers
add = lambda x, y: x + y
print(add(3, 4)) ## Output: 7
Wichtige Eigenschaften
Eigenschaft |
Beschreibung |
Anonym |
Kein Name erforderlich |
Einziger Ausdruck |
Kann nur einen Ausdruck enthalten |
Kompakt |
Kürzer als die Definition einer regulären Funktion |
Inline-Nutzung |
Wird oft mit eingebauten Funktionen verwendet |
Anwendungsfälle
graph TD
A[Lambda Functions] --> B[Sorting]
A --> C[Filtering]
A --> D[Mapping]
A --> E[Functional Programming]
Häufige Anwendungsfälle
- Sortieren mit einer Schlüsselfunktion
## Sort list of tuples by second element
pairs = [(1, 'one'), (3, 'three'), (2, 'two')]
sorted_pairs = sorted(pairs, key=lambda x: x[1])
- Filtern von Listen
## Filter even numbers
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
Einschränkungen
- Nicht geeignet für komplexe Logik
- Beschränkung auf einen einzigen Ausdruck
- Verringerte Lesbarkeit bei komplexen Operationen
Best Practices
- Verwenden Sie Lambda-Funktionen für einfache, einzeilige Operationen.
- Verwenden Sie für komplexe Logik lieber benannte Funktionen.
- Berücksichtigen Sie die Lesbarkeit, wenn Sie Lambda-Funktionen verwenden.
Indem Sie Lambda-Funktionen verstehen, können Sie mit LabEx's leistungsstarken Programmierumgebung kürzeren und funktionaleren Python-Code schreiben.