На codewars.com я столкнулся со следующей задачей:
Создайте функцию
add
, которая добавляет числа вместе при вызове последовательно. Поэтомуadd(1)
должен возвращать1
,add(1)(2)
должен возвращать1+2
,...
Пока я знаком с основами Python, я никогда не сталкивался с функцией, которая может быть вызвана в такой последовательности, то есть функцией f(x)
, которую можно назвать f(x)(y)(z)...
. До сих пор я даже не уверен, как интерпретировать это обозначение.
Как математик, я подозреваю, что f(x)(y)
- это функция, которая назначает каждой x
функцию g_{x}
, а затем возвращает g_{x}(y)
и аналогично для f(x)(y)(z)
.
Если эта интерпретация будет правильной, Python позволит мне динамически создавать функции, которые мне очень интересны. Я искал в Интернете последний час, но не смог найти лидерство в правильном направлении. Однако, поскольку я не знаю, как называется эта концепция программирования, это может быть не слишком неожиданным.
Как вы называете это понятие и где я могу узнать больше об этом?