【问题标题】:python a function in another function?python 一个函数中的另一个函数?
【发布时间】:2014-01-28 05:54:44
【问题描述】:

我有以下功能:

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

我只是不知道如何在不创建另一个函数或使用 lambda 或任何其他模块的情况下将值放入 (first(a)) 中?任何帮助表示赞赏。

【问题讨论】:

  • "将值放入first(a)"? “示例”代码似乎缺少..无论如何,一个对象只需callable 即可响应(),函数(和构造函数)通常具有此属性但它不是排他性的..
  • 我想用户想知道如何调用那个函数?
  • 你的问题不够清楚,首先已经是一个函数,它在某处定义对吗?如果是,为什么你不能只是return first(a)

标签: function python-3.x


【解决方案1】:

也许你可以调用函数first作为参数传递a,然后return它返回的值:

def second(first, a):
    return first(a)

【讨论】:

    【解决方案2】:
    >>> 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 部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-05
      • 1970-01-01
      • 2019-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多