class Parameters(dict):
""" Some doc here """
pass
class System(object):
Parameter = Parameters
""" The default parameters attribute builder """
def __init__(self):
self.parameters = self.Parameters()
Das Problem ist, wenn ich ein autoclass
des Systems mit Sphinx tun, wird nicht das Dokument Parameter sein, was ich unten Parameter = Parameters
schrieb aber wird das vollständige doc der Parameter-Klasse sein. Ich will das nicht, es ist zu chaotisch und stimmt nicht überein, was mein .Parameters-Attribut wirklich ist (kann eine Parameter-Klasse aber auch eine Funktion sein, oder eine dict(a=0,b=1).copy
etc ...).Ich möchte ein Attribut einer Klasse machen (was eine Klasse ist) mit meinem, wie doc
System
======
.. autoclass:: system.System
:members: __init__,Parameters
Der einzige Weg, ich fand, ist Parameter auf None gesetzt ersten und es bei init ändern, aber es ist nicht bequem aus anderen Gründen
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()
Wenn ich das tue, schafft es [das] (https://i.imgur.com/ILGy48l.png), die wie scheint, was Sie wollen. Da es sich um ein Attribut handelt, sollte es wirklich "Parameter = Parameter" sein, da CamelCase für Klassennamen reserviert ist. – Artyer
Differierende Sphinx-Versionen, vielleicht? –