如何在python中打印__init__函数参数?

Jin*_*iya 2 python-3.x

我试图创建驻留在模块中的类名的字典,这些类的名称为其构造函数args。

构造函数args也应该是一个字典,无论定义在哪里,我都会在其中存储参数的默认值。

任何线索都将非常有帮助。提前致谢。

为了提供有关使用情况的详细信息,我想在这里做的是对所有图像中提到的类图像

我想获取例如的构造函数参数,请参考下

Run*_*ith 5

如果我对您的理解正确,那么您只需要您的签名中的参数名称__init__

使用inspect模块实际上很简单:

现代python答案

import inspect

signature = inspect.signature(your_class.__init__)
for name, parameter in signature.items():
    print(name, parameter.default, parameter.annotation, parameter.kind)
Run Code Online (Sandbox Code Playgroud)

过时的答案

import inspect

signature = inspect.getargspec(your_class.__init__)
signature.args # All arguments explicitly named in the __init__ function 
signature.defaults # Tuple containing all default arguments
signature.varargs # Name of the parameter that can take *args (or None)
signature.keywords # Name of the parameter that can take **kwargs (or None)
Run Code Online (Sandbox Code Playgroud)

您可以将默认参数映射到相应的参数名称,如下所示:

argument_defaults = zip(signature.args[::-1], signature.defaults[::-1])
Run Code Online (Sandbox Code Playgroud)