【问题标题】:Filling default missing/arguments from args/kwargs and function signature in Python 2.7在 Python 2.7 中从 args/kwargs 和函数签名中填充默认缺失/参数
【发布时间】:2016-05-09 17:30:07
【问题描述】:

我有一个函数fun 和对象args 和kwargs,如果我将其命名为fun(*args, **kwargs),我想获取fun 中可用的参数和值字典(没有实际调用fun)。换句话说,我需要将args 的元素绑定到参数名称,并用默认值填充args 和kwargs 中缺少的参数

在 Python 3.3 中有一个 inspect.signature 可以提供帮助,但我在 Python 2.7 中工作,有没有人有指向可以在 2.7 中完成此任务的代码的指针?

【问题讨论】:

  • 您可以在问题中添加Minimal, Complete, and Verifiable example 吗?
  • Python 2 有inspect.getargspec()。但是,它的功能不如inspect.signature。
  • @MartijnPieters 对,我希望有人做了一个反向移植,或者重写了 中的逻辑

标签: python python-2.7


【解决方案1】:

新的PEP 362 Function Signature Object 功能已作为funcsigs project 向后移植到2.7:

try:
    from inspect import signature
except ImportError:
    from funcsigs import signature 

sig = signature(yourfunction)
boundargs = sig.bind(*args, **kwargs)

【讨论】:

    猜你喜欢
    • 2012-04-09
    • 1970-01-01
    • 2015-01-28
    • 2018-07-13
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    • 2016-08-20
    • 1970-01-01
    相关资源
    最近更新 更多