0

我习惯于用文档字符串记录我的__init__()函数,但我想利用attrs包的好处。文档字符串在 IPython 或 Jupyter 笔记本中很有用,因此我可以看到参数的含义。有没有好的方法来做到这一点?在此示例代码中:

@atrr.s
class Coordinates(object):
    """ A set of coordinates
    """
    x = attr.ib()
    y = attr.ib()

"""
In [1]: Coordinates?
Init signature: Coordinates(x, y) -> None
Docstring:     
A set of coordinates
    
Init docstring: Method generated by attrs for class Coordinates.
Type:           type
Subclasses:
"""

我如何向用户描述xy变量?例如,我如何指定这些以度为单位?

4

1 回答 1

0

在 Python 中,属性和(更重要的是)__init__参数的文档发生在类 docstring中,因此attrs在这种情况下,存在并不重要:

@attr.define
class Coordinates:
    """
    A set of coordinates.

    :param int x: Foo in degrees.
    :param int y: Bar in degrees.
    """
    x: int
    y: int

有关更多信息,请查看 RTD 的关于编写文档字符串的文档

如果您不喜欢这种格式,另一种常见的称为 Napoleon,来自 Google:https ://www.sphinx-doc.org/en/master/usage/extensions/napoleon.html

于 2021-10-22T05:29:58.117 回答