Различия между 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.
Будет ли от этого страдать лямбда-метод, если он используется для создания метода класса из аргументов, предоставленных классу (либо в конструкторе, либо через функцию позже)?