【发布时间】:2021-01-01 15:37:03
【问题描述】:
我需要编写一个名为 'concat' 的 python 函数,它将任意两个函数作为输入,并返回一个函数,该函数是两个输入函数的连接函数(即它需要 f1 和 f2,并返回 f1◦f2 )。
我试过了:
def concat(f1,f2):
return f1(f2)
例如,如果 f1 和 f2 是:
def f1(x):
return x+2
def f2(x):
return x*2
那么,concat(f1,f2) 应该返回:(x*2)+2
我希望能够像这样使用它:
a = concat(f1,f2)
a(5)
但我得到一个错误:
TypeError: +: 'function' 和 'int' 的操作数类型不受支持
我知道我可以这样定义函数:
def concat(f1,f2,x):
return f1(f2(x))
但这不是我想要的;我希望能够创建 concat 函数的实例,然后可以使用任何 x 调用它。
【问题讨论】:
-
已经问过here
标签: python function concatenation