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做一个System的autoclass时,文件参数将不是我写的下面的参数=参数但是将是Parameter类的完整文档.我不希望这样,它太乱了,与我的.Parameters属性不匹配(可以是一个Parameters类,也可以是一个函数,或者一个dict(a = 0,b = 1).copy等… ).
System
======
.. autoclass:: system.System
:members: __init__,Parameters
我找到的唯一方法是首先将参数设置为无,然后在init处更改它,但由于其他原因不方便
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()
最佳答案 可以这样做吗?
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'}