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

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

Сообщение Anonymous »

Предположим, в 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Объекты 
, определенные в классах, ведут себя как статические методы и не преобразуются в связанные методы во время поиска атрибутов экземпляра.


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

Подробнее здесь: https://stackoverflow.com/questions/118 ... lar-lambda

Вернуться в «Python»