我正在尝试使用reST风格的文档字符串,即
def foo(bar):
"""a method that takes a bar
:param bar: a Bar instance
:type bar: Bar
有没有标准的方法来记录yields
?我看着http://sphinx-doc.org/domains.html#info-field-lists,a-la这个问题[Using javadoc for Python documentation],但没有运气。我想象的是,
:yields: transformed bars
:yield type: Baz
谢谢!
Python 3.5 Iterator[]
注释
它们为此提供了标准化的Iterator[]
语法,如https://docs.python.org/3/library/typing.html#typing.Generator所述
在Python 3之前,我建议您使用此语法以便以后更容易移植:
from typing import List
def f():
"""
:rtype: Iterator[:class:`SomeClass`]
"""
yield SomeClass()
在Python 3之后,使用https://pypi.python.org/pypi/sphinx-autodoc-annotation语法:
from typing import Iterator
def f() -> Iterator[SomeClass]:
yield SomeClass()
我已经回顾了另一个答案,我认为它不回答这个问题。
记录生成器的方法尽管不是最好的,但是在其他文档中使用:return
。使用说明通知它是一个生成器。
Google / Numpy样式文档的收益率会将收益率转换为返回子句。