我有以下功能:
def second(first, a):
# i want to return the results of first(a) in this function.
我无法弄清楚如何在不创建其他函数或使用lambda或任何其他模块的情况下将值放入(first(a))中?任何帮助表示赞赏。
答案 0 :(得分:0)
>>> def first(a, *args, **kwargs):
... print((a, args, kwargs))
...
>>> def second(func, a, *args, **kwargs):
... return func(a, *args, **kwargs)
...
>>> second(first, 'hello', 'world', do='something')
('hello', ('world',), {'do': 'something'})
>>> second(int, 15)
15
>>> second(range, 2, 5)
range(2, 5)
如果你知道你的函数不需要额外的参数或关键字参数,你可以省略* args或** kwargs部分。
答案 1 :(得分:0)
也许你可以调用函数first
作为参数a
传递,然后return
调用它返回的值:
def second(first, a):
return first(a)