Различия между functools.partial и аналогичной лямбдой?

В Python, предположим, у меня есть функцияf что я хочу передать с некоторыми вторичными аргументами (для простоты предположим, что это только первый аргумент, который остается переменным).

В чем разница между этими двумя способами (если есть)?

# 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)

встраница документа дляpartialНапример, есть эта цитата:

partial objects defined in classes behave like static methods and do not transform into bound methods during instance attribute look-up.

Будет ли от этого страдать лямбда-метод, если он используется для создания метода класса из аргументов, предоставленных классу (либо в конструкторе, либо через функцию позже)?

Ответы на вопрос(4)

Ваш ответ на вопрос