lambda Funktionen Python Tutorial Teil 26

lambda Funktionen sollen uns die Tipparbeit bei sehr kurzen Methoden abnehmen.

Python Logo (CC-BY-SA The people from the Tango! project / Wikipedia) lambda
Python Logo (CC-BY-SA The people from the Tango! project / Wikipedia)
1Python Programmierkurs
2Python: Methoden
3Kontrollstrukturen
4Strings in Python
5Container
6Objekte in Python
7Module
8Exceptions in Python
9Typkonvertierung
10Python und Dateien
11Datum und Zeit mit Python verarbeiten
12Multithreading
13Netzwerk in Python
14Logging in Python
15GPIO
16Automatische Tests
17Datenbanken mit Python
18Python: Generatoren und List Comprehension
19Python: Webseiten mit Flask
20Python virtuelle Umgebungen
21Interrupts & Signale
22NumPy
23Matplotlib
24match
25Reguläre Ausdrücke
26lambda Funktionen
27logging.config
28Decorators

lambda Funktionen

Vielleicht es die auch schon mal passiert, dass du dachtest. Warum muss ich für eine ganz simple Methode noch so Dinge wie def methodenname: tippen? Mit lambda ist dies nicht nötig. Sie ist sowas wie eine anonyme Funktion. Sehen wir uns doch mal eine einfache Methode an, um Quadratzahlen zu berechnen:

def square(x):
  return x** 2

sq5 = square(5)
print(f'{sq5}')

Die Funktion square() besteht nur aus einer einzigen Zeile, die eigentlich gar keine Methode benötigt. Hier kommt jetzt lambda ins Spiel. Mit ihr definierst du eine anonyme Funktion, d.h. sie besitzt keinen eigenen Namen. Dies sieht dann in etwa so aus:

square = lambda x: x** 2
print(f'{square(5)}')

Das lambda Konstrukt besagt eigentlich nur, das für einen übergebenen Parameter x, das Ergebnis von x** 2 zurückgegeben wird. Dies mit der mathematischen Aussage x→x² besser zu verstehen (ich lese das gerne wie: x wird abgebildet auf x Quadrat)

Du musst hier unbedingt beachten, dass square nicht das Ergebnis der Berechnung enthält sondern ein Zeiger auf die lambda Funktion ist. Daher wird die Berechnung durch den Aufruf square(5) durchgeführt.

Fazit

In bestimmten Situationen ersparen lambdas etwas Zeit. Sie sind manchmal aber auch nicht einfach zu durchschauen. Im nächsten Teil machen wir davon Gebrauch.

Die Beispiele sind im Repository abgelegt.

Schreibe einen Kommentar

Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Olli Graf - raspithek.de
WordPress Cookie Hinweis von Real Cookie Banner