https://medium.com/data-engineer-things/functional-programming-in-data-engineering-with-python-part-1-c2c4f677f749
Without Currying
def make_breakfast(toasts, sausages, eggs):
return f"Breakfast made with {toasts} pieces of toasts, {sausages} sausages and {eggs} scrambled eggs"
my_breakfast = make_breakfast(3, 4, 3)
print(my_breakfast)
With Currying
def make_breakfast(toasts):
def add_sausages(sausages):
def add_eggs(eggs):
return f"Breakfast made with {toasts} pieces of toasts, {sausages} sausages and {eggs} scrambled eggs"
return add_eggs
return add_sausages
my_breakfast = make_breakfast(3)(4)(3)
print(my_breakfast)