Python 中的柯里化

本文介绍了柯里化在数学和计算机科学中的概念,它将多参数函数转化为单参数函数系列。通过示例展示了Python中函数组合的过程,并探讨了如何进行货币转换。此外,还讨论了如何实现任意参数数量的柯里化函数,通过嵌套函数和累积参数来达到这一目标。
摘要由CSDN通过智能技术生成

大概的概念

咖喱咖喱

在数学和计算机科学中,柯里化是一种分解函数求值的技术,该函数采用多个参数来求值一系列单参数函数。柯里化也用于理论计算机科学,因为将多参数模型转换为单参数模型通常更容易。

函数的组成

我们定义两个函数 f 和 g 的组合 h

H(X)=G(F(X))

在以下 Python 示例中。

两个函数的组合是一个链接过程,其中内部函数的输出变成外部函数的输入。

def  compose ( g ,  f ): 
    def  h ( x ): 
        return  g ( f ( x )) 
    return  h

我们将在下一个示例中使用我们的 compose 函数。让我们假设,我们有一个温度计,它不能准确工作。可以通过将函数重新调整应用于温度值来计算正确的温度。让我们进一步假设我们必须将温度值从摄氏度转换为华氏度。我们可以通过对这两个函数应用compose来做到这一点:

DEF  celsius2fahrenheit (吨):
    返回 1.8  *+  32 
DEF 重新调整(吨):
    返回 0.9  *-  0.5
转换 = 撰写(重新调整, celsius2fahrenheit )
打印(转换(10 ), celsius2fahrenheit (10 ))

输出:

44.5 50.0

两个函数的组合一般是不可交换的,即 compose(celsius2fahrenheit, readjust) 不同于 compose(readjust, celsius2fahrenheit)

convert2  = 撰写(celsius2fahrenheit , 重新调整)
打印(convert2 (10 ), celsius2fahrenheit (10 ))

输出:

47.3 50.0

convert2 不是我们问题的解决方案&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值