我正在尝试创建一个驻留在模块中的类名字典到它们的构造函数args。
构造函数args也应该是一个字典,我将在任何地方存储参数的默认值。
任何线索都会非常有用。提前谢谢。
要提供有关用例的更多详细信息,我在这里要做的是针对图像中提到的所有类image
我想获取构造函数参数,例如请参考下图 image
答案 0 :(得分:3)
如果我理解正确,您只需要__init__
签名中的参数名称。
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)
您可以将默认参数映射到相应的参数名称,如下所示:
argument_defaults = zip(signature.args[::-1], signature.defaults[::-1])
答案 1 :(得分:0)
最近,有以下作品:
import inspect
signature = inspect.signature(yourclass.__init__)
for param in signature.parameters.values():
print(param)
(与接受的答案相比)差异是parameters
实例变量需要访问。