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时,document参数将不是我在下面所写的Parameter = Parameters而是Parameter类的完整doc我不想这样,它太乱了,与我的.parameters属性不匹配(可以是parameters类,也可以是函数,或者dict(a=0,b=1).copy等等)。
System
======
.. autoclass:: system.System
    :members: __init__,Parameters

我找到的唯一方法是先将参数设置为None,然后在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'}

关于python - 我想用我的方式文档渲染一个类的属性(这是一个类),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44502655/

10-15 05:04