我试图创建驻留在模块中的类名的字典,这些类的名称为其构造函数args。
构造函数args也应该是一个字典,无论定义在哪里,我都会在其中存储参数的默认值。
任何线索都将非常有帮助。提前致谢。
为了提供有关使用情况的详细信息,我想在这里做的是对所有图像中提到的类图像
我想获取例如的构造函数参数,请参考下 图
如果我对您的理解正确,那么您只需要您的签名中的参数名称__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)
| 归档时间: |
|
| 查看次数: |
2712 次 |
| 最近记录: |