有没有一种用 `python-attrs` 记录属性的好方法?
Is there a good way to document attributes with `python-attrs`?
我习惯用文档字符串记录我的 __init__()
函数,但我想利用 attrs 包的好处。文档字符串在 IPython 或 Jupyter notebook 中很有用,因此我可以看到参数的含义。有没有好的方法来做到这一点?在此示例代码中:
@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:
"""
如何向用户描述 x
和 y
变量?例如,我如何指定这些以度为单位?
在 Python 中,属性和(更重要的)__init__
参数的文档出现在 class 文档字符串 中,因此存在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 的 docs on writing docstrings。
如果您不喜欢这种格式,另一种常见的格式叫做 Napoleon,来自 Google:https://www.sphinx-doc.org/en/master/usage/extensions/napoleon.html
我习惯用文档字符串记录我的 __init__()
函数,但我想利用 attrs 包的好处。文档字符串在 IPython 或 Jupyter notebook 中很有用,因此我可以看到参数的含义。有没有好的方法来做到这一点?在此示例代码中:
@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:
"""
如何向用户描述 x
和 y
变量?例如,我如何指定这些以度为单位?
在 Python 中,属性和(更重要的)__init__
参数的文档出现在 class 文档字符串 中,因此存在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 的 docs on writing docstrings。
如果您不喜欢这种格式,另一种常见的格式叫做 Napoleon,来自 Google:https://www.sphinx-doc.org/en/master/usage/extensions/napoleon.html