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ürpartialZum 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)?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage