13

私はNumpyのドキュメンテーション標準を読んでいますが、オブジェクト属性について言及していないようです-クラス属性のみです。

では、たとえば、次のことをどのように文書化すればよいでしょうか?

class ClassA(object):
    """Short description of ClassA

    Long description of ClassA

    Parameters
    ----------
    param : param_type, optional
        param_description

    Attributes (class)
    ----------
    class_attr : class_attr_type
        class_attr_description

    Attributes (object)
    ----------
    obj_attr : obj_attr_type
        obj_attr_description

    """

    class_attr = 'something'

    def __init__(self, arg='something else'):
        self.obj_attr = arg

編集: Napoleonに切り替えていることに注意してください。これは、属性をサポートしていますが、特にクラスまたはインスタンス属性はサポートしていません。

4

1 に答える 1

10

numpyで提供されているHow to Documentファイルに記載されていることを試しました。クラス属性のドキュメントは次のように処理する必要があると述べています。

Parameters セクションの下にある Attributes セクションは、クラス変数を記述するために使用できます。

Attributes
----------
x : float
    The X coordinate.
y : float
    The Y coordinate.

さらに、インスタンス プロパティには独自のドキュメントが必要であり、名前だけでリストする必要があることに言及します。

それは理にかなっていますが、numpy ソース コードでこの例を見つけることができません。私が見つけた最も近いものは、 ABCPolyBase クラスで何か違うことをしました。

Attributes
----------
coef : (N,) ndarray 
...
Class Attributes
----------------
maxpower : int

私の意見では、クラスで使用されているドキュメントは読みやすいですが、その使用法が Sphinx の autodoc サマリーで機能すると_polybase.pyは思えません。Class Attributes

この情報がお役に立てば幸いです。

于 2015-02-16T18:16:48.383 に答える