python - 我应该如何使用 Numpy 的样式记录类和对象属性?

标签 python numpy scipy python-sphinx sphinx-napoleon

<分区>

我一直在阅读 Numpy's documentation standards ,它似乎没有提到对象属性——只有类属性。

例如,我将如何记录以下内容?

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 ,表示它支持属性,但不支持特定的类或实例属性。

最佳答案

我尝试了 How to Document 中提到的内容numpy 中提供的文件。它提到类属性的文档应按如下方式处理。

An Attributes section, located below the Parameters section, may be used to describe class variables:

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

它继续提到实例属性应该有自己的文档,并且只能按名称列出。

这是有道理的,但我在 numpy 源代码中找不到这方面的任何示例。我找到的最接近的在 ABCPolyBase class 中做了一些不同的事情.

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

在我看来,_polybase.py 类中使用的文档清晰易读,但我不相信 Class Attributes 的用法适用于 Sphinx autodoc 摘要。

希望这些信息对您有所帮助。

关于python - 我应该如何使用 Numpy 的样式记录类和对象属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28437869/

相关文章:

python - 从函数创建矩阵

Python 字符串拆分返回奇怪的字符

python - 使用从 np.argsort() 返回的索引对 2D numpy 数组进行排序

python - 从 PIL 图像转换后,Numpy 数组不显示灰度图像的颜色尺寸

python - 相当于 aws cdk 中的 !Ref

python - 在python中检查sklearn的tf-idf分数

python - 如何获取 boolean numpy 数组和另一个 boolean 数组的相对补集?

Python:3D 列主要张量到行主要

python - 求解大量小型线性系统

python - 这种修复插值可以在 Python 中变得更快吗?