创建一个以任意数量的函数作为位置参数的函数。函数一个一个地返回函数参数的执行。请参阅示例以获得更好的理解(让我们将此函数称为链)。
my_func = chain(lambda x: x + 2, lambda x: (x/4, x//4))
my_func(37)它应该会回来
(9.75, 9)我试着做这样的事情:
def chain(x,*args):
for arg in args:
arg(x)它不起作用。无法理解如何对此函数使用非函数参数(例如,在上面37中)。
发布于 2021-12-08 08:34:11
你是在找这样的东西吗?
def chain(*funcs):
def chained(*args, **kwargs):
return tuple(func(*args, **kwargs) for func in funcs)
return chained
my_func = chain(lambda x: x + 2, lambda x: (x/4, x//4))
print(my_func(37))输出:
(39, (9.25, 9))https://stackoverflow.com/questions/70262449
复制相似问题