【问题标题】:How do I ask a function for the names of its parameters in Python? [duplicate]如何在 Python 中向函数询问其参数的名称? [复制]
【发布时间】:2011-11-19 02:29:51
【问题描述】:

可能重复:
Getting list of parameters inside python function

例如假设我有

def foo(a, b='B'): return

如何让 foo 告诉我它需要参数 'a' 和参数 'b',它的默认值是 'B'?

【问题讨论】:

  • 您可以使用help(foo)查看它
  • @JBernardo 这适用于人类,但我的程序如何访问这些信息?据推测,帮助使用了我正在寻找的机制。

标签: python


【解决方案1】:

使用inspect.getargspec

def foo(a, b='B'): pass

import inspect
print inspect.getargspec(foo)

似乎不清楚默认用于哪个参数,但由于非默认参数不能跟随默认参数,因此默认值必须用于第二个参数。

编辑:链接的副本很好,那里的答案表明您可以在没有inspect 的情况下使用func.func_code.co_varnamesfunc.func_defaultsfunc.__defaults__ 获得相同的信息。

【讨论】:

  • 链接 + 对很可能不清楚的事情的解释 + 替代解决方案 = 超级棒的答案!!! :D
猜你喜欢
  • 2022-01-03
  • 1970-01-01
  • 2015-07-19
  • 2011-03-31
  • 1970-01-01
  • 2023-03-27
  • 2016-06-28
  • 2016-01-15
  • 1970-01-01
相关资源
最近更新 更多