Python中的反射:如何在Python 2.7中查看函数的所有参数

问题描述 投票:4回答:1

我正在寻找一种方法来将函数的参数放入包含其名称的dict中,默认值为any。

我已经看到inspect模块有一个getcallargs函数,但它可以引发异常,并且如果被检查函数需要,则需要提供参数。我正在寻找能够在不事先了解函数的情况下访问此结果的内容。

这必须与python 2.7兼容。

def a_function_somewhere(arg1, arg2=None, arg3=12):
    pass

r = the_function_i_m_looking_for(a_function_somewhere)
# Expected r {'arg1': Special.NoDefaultValue, 'arg2': None, 'arg3': 12}
python python-2.7 reflection
1个回答
4
投票
>>> inspect.getargspec(a_function_somewhere)
ArgSpec(args=['arg1', 'arg2', 'arg3'],
        varargs=None, keywords=None, defaults=(None, 12))
© www.soinside.com 2019 - 2024. All rights reserved.