tgoop.com/pyproglib/6563
Create:
Last Update:
Last Update:
Модуль functools
в Python содержит полезный инструмент — ctools,
который позволяет создавать новые функции, фиксируя часть аргументов уже существующей функции. Это называется частичное применение функций.
🔹 Как это работает?
С помощью partial
можно «заморозить» часть аргументов, чтобы создать новую функцию с меньшим числом входных параметров.
📌 Пример: фиксируем аргумент
from functools import partial
def multiply(x, y):
return x * y
double = partial(multiply, 2) # "Фиксируем" x как 2
print(double(5)) # Вывод: 10 (2 * 5)
Теперь
double(5)
эквивалентно multiply(2, 5)
, потому что 2
уже зафиксировано.📌 Пример: фиксируем именованные аргументы
def greet(name, greeting="Hello"):
return f"{greeting}, {name}!"
say_hi = partial(greet, greeting="Hi")
print(say_hi("Alice")) # Вывод: Hi, Alice!
Теперь
say_hi("Alice")
всегда будет использовать "Hi"
в качестве приветствия.🔹 Зачем использовать
partial
?— Упрощает код и уменьшает дублирование.
— Делает функции удобнее для повторного использования.
— Полезен в обработчиках событий и коллбэках.
Библиотека питониста #буст