将多个功能分配给单个变量?

将多个功能分配给单个变量?,第1张

将多个功能分配给单个变量?

我认为作者想要的是某种形式的功能链。通常,这很困难,但是对于

  1. 接受一个论点
  2. 返回一个值,
  3. 列表中上一个函数的返回值与列表中下一个函数的输入类型具有相同的返回值

我们说有一个需要链接的函数列表,其中有一个参数,然后返回一个参数。而且,类型是一致的。像这样的东西…

functions = [np.sin, np.cos, np.abs]

是否可以编写将所有这些链接在一起的 通用
函数?好吧,

reduce
尽管我们可以使用Guido,但它并不特别喜欢
map
reduce
实现,并打算将其淘汰…

像这样的东西…

>>> reduce(lambda m, n: n(m), functions, 3)0.99005908575986534

现在我们如何创建执行此 *** 作的功能?好吧,只需创建一个需要一个值并返回一个函数的函数:

import numpy as npdef chainFunctions(functions):    def innerFunction(y):        return reduce(lambda m, n: n(m), functions, y)    return innerFunctionif __name__ == '__main__':    functions = [np.sin, np.cos, np.abs]    ch = chainFunctions( functions )    print ch(3)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5639712.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存