有没有一种简单的方法可以进入python函数并获取参数名称列表?
例如:
def func(a,b,c):
print magic_that_does_what_I_want()
>>> func()
['a','b','c']
谢谢
好吧,我们实际上不需要inspect
这里。
>>> func = lambda x, y: (x, y)
>>>
>>> func.__code__.co_argcount
2
>>> func.__code__.co_varnames
('x', 'y')
>>>
>>> def func2(x,y=3):
... print(func2.__code__.co_varnames)
... pass # Other things
...
>>> func2(3,3)
('x', 'y')
>>>
>>> func2.__defaults__
(3,)
对于Python 2.5及更高版本,请使用func_code
代替__code__
和func_defaults
代替__defaults__
。
问题内容: 我想做这样的事情: 并得到返回: 问题答案: 您不能那样做(正如Ignacio Vazquez-Abrams已经回答的那样),但是您可以通过类似的方式来做: 唯一的区别是您必须使用关键字参数,否则它将不起作用。 另一种解决方案是访问 传递的变量的属性,这将导致获得函数,类或名称的名称(或其他将定义此名称的名称)。您唯一应该知道的是,默认情况下,它不是变量的名称,而是函数/类/模块的原始
本文向大家介绍Python如何获取函数名称?,包括了Python如何获取函数名称?的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将学习如何在Python中获取函数名称。获得任何函数的名称都是一件简单的事情。对于Python2和Python3,我们有两种不同的方式。让我们看看他们两个。 Python2 Python2中的每个函数都有一个名为func_name的属性,该属性为您提供当前函数
问题内容: 我有一个具有多个功能的Bourne Shell脚本,并允许以以下方式调用: 在内部,将用和调用。 我想创建一个仅列出所有可用函数的函数,即使没有参数也是如此。 问题:如何从脚本内部获取脚本中所有函数名称的列表? 我想避免不得不解析它并寻找功能模式。太容易出错。 更新:代码。希望我的功能像-添加到代码中的功能会自动添加到帮助中。 问题答案: 您可以通过在自己的脚本上使用grep命令来获取
问题内容: 如果您有两个功能,例如: 并且A呼叫B,您能知道谁在B内部呼叫B时,例如: 问题答案: 您可以使用检查模块获取所需的信息。它的堆栈方法返回帧记录列表。 对于 Python 2, 每个帧记录都是一个列表。每个记录中的第三个元素是呼叫者名称。您想要的是: def f(): … print inspect.stack()[1][3] … def g(): … f() … g() g 对于 P
问题内容: 鉴于函数: 如何提取参数的数量和名称。即,鉴于我有提及func,因此我希望返回。 为此的使用场景是,我有一个装饰器,并且希望以与实际函数作为键一样的顺序使用方法参数。即,我打电话时装饰器的外观如何? 问题答案: 看一下模块-这将为你检查各种代码对象属性。 其他结果是 args和* kwargs变量的名称,以及提供的默认值。即。 请注意,在某些Python实现中,某些可调用对象可能不是自
问题内容: 在 Java 6中 ,假设我具有以下方法签名: 我想知道在运行时传递给任何其他参数的值,这里重要的一点是我想通过参数名称获取该值。 我知道如何使用或获取参数类型的列表。 理想情况下,我想获取参数 名称 而不是类型的列表。有办法吗? 问题答案: 如果您告诉编译器将其包括在内,则可以使用参数名称(使用调试信息进行编译)。Spring 可以帮助您获取名称。该默认实现使用ASM 这样做。 与您