最近在练习闭包时遇到了个有趣的概念–科里化,在这里记录一下:
科里化简单来说就是把一个多参数的函数转化为单参数函数的办法,这一概念在函数式编程中经常使用(我们说python虽然不是函数式编程语言,但是可以进行函数式编程)科里化可以进行惰性求值,惰性求值能减少对内存的占用,另外一个好处就是能够动态生成函数。示例如下:
原函数(多参):
def fun(a,b,c):
return a+b+c
科里化后:
def fun1(x):
def fun2(y):
def fun3(c)
return a+b+c
return fun3