Lambda Functions/Closures wofür?
-
Ich programmier gerade ein bisschen Python und da gibts ja Lambda Functions. Aber irgendwie kann ich mit denen nicht viel anfangen. Wofür verwendet man die in normalen Programmen? Was sind die typischen Einstazgebiete für Lambda Functions?
-
Da wo man eben kleine Funktionen braucht. zB bei map, reduce etc.
-
Ich hab mal schnell nen bisschen von meinem Code nach lambda durchgegrept:
tab_toggle = lambda x: self.notebook.set_show_tabs(x.get_active()) treeview_toggle = lambda x: [self.treeview.hide, self.treeview.show_all][x.get_active()]() glade_signals = { [...] "on_item_show_tabs_toggled": tab_toggle, "on_item_show_treeview_toggled": treeview_toggle } self.glade.signal_autoconnect(glade_signals)
dev.state_observer.append(lambda x: self.PinState(x, path=dev.get_path()))
Das was im zweiten Beispiel passiert nennt sich currying und ist auch ohne lambda Funktionen nicht so ohne weiteres möglich.