Карточка Middle Функции и области видимости обновлено

functools.partial

Вопрос

Что делает functools.partial(f, 1, x=2)?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

Возвращает вызываемый объект, который при вызове передаёт в f заранее зафиксированные аргументы 1 и x=2 плюс новые аргументы вызова.

Ответ

Возвращает вызываемый объект, который при вызове передаёт в f заранее зафиксированные аргументы 1 и x=2 плюс новые аргументы вызова.

Разбор

Удобно для колбэков и для борьбы с поздним связыванием в цикле: partial(handler, i) фиксирует значение i в момент создания.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.