Карточка Middle Функции и области видимости обновлено
functools.partial
Вопрос
Что делает functools.partial(f, 1, x=2)?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
Возвращает вызываемый объект, который при вызове передаёт в f заранее зафиксированные аргументы 1 и x=2 плюс новые аргументы вызова.
Ответ
Возвращает вызываемый объект, который при вызове передаёт в f заранее зафиксированные аргументы 1 и x=2 плюс новые аргументы вызова.
Разбор
Удобно для колбэков и для борьбы с поздним связыванием в цикле: partial(handler, i) фиксирует значение i в момент создания.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «Функции и области видимости»
- Что такое *args и **kwargs
- Перекрытие встроенных имён
- Как передаются аргументы в функцию Python
- Где хранятся переменные замыкания
- Вызов с *args и **kwargs: разбор сигнатуры
- Композиция функций
- Мемоизация через замыкание
- Повтор вызова с ограничением попыток