class Parameters(dict):
""" Some doc here """
pass
class System(object):
Parameter = Parameters
""" The default parameters attribute builder """
def __init__(self):
self.parameters = self.Parameters()
问题是当我使用sphinx执行autoclass
系统时,文档参数将不是我所写的Parameter = Parameters
,但它将是Parameter类的完整文档。我不希望这样,它太乱了,与我的.Parameters属性不匹配(可以是一个Parameters类,但也是一个函数,或dict(a=0,b=1).copy
等...)。
System
======
.. autoclass:: system.System
:members: __init__,Parameters
我找到的唯一方法是先将参数设置为无,然后在初始化时更改它,但由于其他原因不方便
class System(object):
Parameter = None
""" The default parameters attribute builder """
def __init__(self):
if self.Parameters is None:
self.Parameters = Parameters
self.parameters = self.Parameters()
答案 0 :(得分:1)
可以这样做吗?
class Parameters(dict):
pass
class System(object):
def __init__(self, Parameters):
self.parameters = Parameters
parameters = Parameters()
parameters['x'] = '3.14'
parameters['y'] = '1.618'
system = System(parameters)
print(system.parameters)
{'y': '1.618', 'x': '3.14'}