如何传递“额外”参数来组合函数

凯斯

我正在寻找一种组合函数的方法,可以选择传递“额外”参数。

例子:

from toolz import compose_left

def g(a, b, c) -> int:
    return a + b + c

def f(a, b = 100) -> int:
    return a + b

当我这样做时:

compose_left(g, f)(1,2,3)

我明白了:

106

凉爽的。

但是有没有办法从compose中的函数g中定义参数b和c?

像这样:

compose_left(g(b=2,c=3), f)(1)

现在我明白了:

TypeError: g() missing 1 required positional argument: 'a'

我正在寻找可以执行此操作的函数或包。

拉法尔

您正在寻找functools.partial.

compose_left(functools.partial(g, b=2, c=3), f)(1)  # 106

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将额外的参数传递给 PyQt GUI 函数?

如何传递多个参数来识别页面?

将额外的参数传递给stat函数

如何通过将不同的参数传递给构造函数来实例化不同的单例类

如何在构造函数中传递参数来保留注册的服务使用情况?

如何传递一个额外的参数

颜色更改后如何传递额外的参数?

在R中使用purrr包的map函数时如何传递第二个参数来函数

Keras,如何将额外的参数传递给自定义损失函数?

如何在Javascript .filter()方法中将额外的参数传递给回调函数?

如何在Flutter中将额外的参数传递给ListView.builder Widget的itemBuilder函数?

猫鼬如何在exec回调函数中传递额外的参数

R 如何组合函数的参数

如何通过更改引用传递的参数来对调用具有副作用的函数的方法进行单元测试?

如何传递“ exclusive”作为rabbitmqadmin的参数来声明队列?

AngularJS 服务如何传递多个参数来表达?

如何传递URL参数来响应JS小部件

如何通过传递“ id”作为参数来删除实体?

将额外的参数传递给回调函数

将“额外”参数传递给存储在变量中的函数-Javascript

VBA:传递一个参数来表示要添加到组合框的列数

如何通过传递的保护函数来缩小泛型类型?

通过将功能列表传递给工厂函数来在 javascript 中组合对象

如何使用boost函数来转换参数类型?

R Shiny:如何使用 tagList() 中的参数来运行函数?

您如何使用命名参数来处理函数?

如何使用函数的参数来使用对象的数据?

如何在打字稿中的navigator.geolocation.getCurrentPosition的成功回调函数中传递额外的参数?

如何传递缺少参数的函数?