python在另一个函数中的函数?

时间:2014-01-28 05:54:44

标签: function python-3.x

我有以下功能:

def second(first, a):
    # i want to return the results of first(a) in this function.

我无法弄清楚如何在不创建其他函数或使用lambda或任何其他模块的情况下将值放入(first(a))中?任何帮助表示赞赏。

2 个答案:

答案 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)