Python 使用funtools库创建偏函数

偏函数

  • 偏函数的应用场景

偏函数往往用在需要适当缩小函数适用功能范围的某些情况下,比如:

def vector_lenght(x, y, z):
	return (x**2 + y**2 + z**2)**0.5

上面的函数vector_lenght接收一个三维空间中向量的三个坐标x、y、z,返回这个向量的长度。问题在于,很多时候可能要求的向量是一个二维向量的情况,比如xy平面上的向量,其取值就为(x, y, 0)。这个时候如果要直接调用vector_lenght函数就要每次都输入(x, y, 0),不是很方便。于是偏函数的概念就应运而生了。

  • 偏函数的案例
    仍然以上面讲到的vector_lenght函数为例:
def vector_lenght(x, y, z):
	return (x**2 + y**2 + z**2)**0.5

此时需要对二位向量(x, y, 0)求长度,通过构建偏函数就可以解决问题,代码如下:

def vector_lenght_xy_01(x, y, z=0):
	vector_lenght(x, y, z)

更高级的方法就是引用了functools库,代码如下:

vector_lenght_xy_01 = functools.partial(vector_lenght, z=0)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

George1415926

看着有用,请作者喝杯咖啡啦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值