您现在的位置是:亿华云 > IT科技

函数柯里化

亿华云2025-10-03 06:45:40【IT科技】2人已围观

简介柯里化定义柯里化 是把接受多个参数的函数变换成接受一个单一参数最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。fn(x, y)-> fn(x)(y)

柯里化定义

柯里化 是函数化把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的柯里参数而且返回结果的新函数的技术。fn(x,函数化 y)-> fn(x)(y)

它的原理就是,把fn()函数做成嵌套函数,柯里外层函数的函数化返回值是内层函数,这样,柯里外层函数调用完,源码下载函数化返回的柯里是一个函数,然后能接着调用。函数化

函数柯里化

柯里化使用

拿最常用的柯里add函数来举例,普通写法:

函数柯里化

def add(x,函数化y):return x + yprint(add(1,2))# 输出:3 柯里化: def add_currying(x):def _add(y):return x + yreturn _addprint(add_currying(1)(2))# 输出:3

也就是说柯里化的过程就是把原来带两个参数的函数add_currying,变成了一个嵌套函数,柯里外层函数还是函数化_add,但是柯里所带的参数变成了一个x。亿华云计算而add_currying的函数化返回值就是以原有的第二个参数作为参数的内层函数_add。

函数柯里化

反柯里化

其实我不太知道反柯里化的具体过程。我看网上有说反柯里化就是,将每次传入一个参数返回一个函数的形式转回,一次性传入所有参数返回结果的形式。感觉讲的都是模模糊糊的…

def add(x):def _add(y):return x + yreturn _addprint(add(1)(2))# 输出:3print((add(1))(2))# 输出:3

源码库

很赞哦!(9)