Частичное применение (partial application).
Предоставление функции с меньшим количеством аргументов, чем она ожидает, называется частичным применением функций.
📎Другими словами, это функция, которая принимает функцию с несколькими параметрами и возвращает функцию с меньшим количеством параметров.
📎Частичное применение преобразует функцию от n аргументов в (n-m), а карринг, в свою очередь, создает n функций с одним аргументом.
Такая возможность есть у Python в стандартной библиотеке functools, функция называется partial.
#partial
Предоставление функции с меньшим количеством аргументов, чем она ожидает, называется частичным применением функций.
📎Другими словами, это функция, которая принимает функцию с несколькими параметрами и возвращает функцию с меньшим количеством параметров.
📎Частичное применение преобразует функцию от n аргументов в (n-m), а карринг, в свою очередь, создает n функций с одним аргументом.
Такая возможность есть у Python в стандартной библиотеке functools, функция называется partial.
from functools import partial
def greet(greeting, separator, emphasis, name):
print(greeting + separator + name + emphasis)
newfunc = partial(greet, greeting='Hello', separator=',', emphasis='.')
newfunc(name='German')
newfunc(name='Ivan')
newfunc2 = partial(greet, greeting='Hello', emphasis='.')
newfunc2(name='German', separator='...')
newfunc2(name='Ivan', separator='..')
#partial