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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中的反射:如何在Python 2.7中查看函数的所有参数相关的知识,希望对你有一定的参考价值。

我正在寻找一种方法来将函数的参数放入包含其名称的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}
答案
>>> inspect.getargspec(a_function_somewhere)
ArgSpec(args=['arg1', 'arg2', 'arg3'],
        varargs=None, keywords=None, defaults=(None, 12))

以上是关于Python中的反射:如何在Python 2.7中查看函数的所有参数的主要内容,如果未能解决你的问题,请参考以下文章

python:2.7-alpine 在 Docker 中的 psycopg2 安装

如何在 GTK3 和 Python 2.7 中的图像对象上创建“点击事件”

Python 2.7:如何将字符串中的 unicode 转义转换为实际的 utf-8 字符

python 2.7中的超级[重复]

在Javascript中是否有python 2.7x中的Object spread语法?

Pandas - Python 2.7:如何将时间序列索引转换为一天中的秒数?