Unterschiede zwischen functools.partial und einem ähnlichen Lambda?
Angenommen, ich habe in Python eine Funktionf
dass ich mit einigen sekundären Argumenten herumreichen möchte (der Einfachheit halber sei angenommen, dass es nur das erste Argument ist, das variabel bleibt).
Was sind die Unterschiede zwischen diesen beiden Methoden (falls vorhanden)?
# Assume secondary_args and secondary_kwargs have been defined
import functools
g1 = functools.partial(f, *secondary_args, **secondary_kwargs)
g2 = lambda x: f(x, *secondary_args, **secondary_kwargs)
In demdoc Seite fürpartial
Zum Beispiel gibt es dieses Zitat:
partial
In Klassen definierte Objekte verhalten sich wie statische Methoden und werden während der Suche nach Instanzattributen nicht in gebundene Methoden umgewandelt.
Wird die Lambda-Methode darunter leiden, wenn sie verwendet wird, um eine Klassenmethode aus Argumenten zu erstellen, die an die Klasse übergeben wurden (entweder im Konstruktor oder durch eine spätere Funktion)?