Я документирую все свои функции Python с помощью строк документации reStructuredText.К сожалению, я не могу описать несколько возвращаемых значений .Все стандартные ссылки, которые я нашел, относятся только к случаю одного возвращаемого значения, например Sphinx-Doc или Realpython .
Пример:
def get_linear_function_2d(p1, p2):
"""
Compute 2d linear function in slope-intercept form
y = mx + n
based on two coinciding (x,y) points.
:param tuple p1: (x,y) tuple describing one point that lies on the line
:param tuple p2: (x,y) tuple describing another point that lies on the line (has to differ in x)
<START OF ISSUE: How to document?>
:return float: slope (m)
:return float: y-intercept (n)
<END OF ISSUE>
"""
assert isinstance(p1, tuple) and len(p1) == 2 and all([isinstance(val, (int, float)) for val in p1])
assert isinstance(p2, tuple) and len(p2) == 2 and all([isinstance(val, (int, float)) for val in p2])
assert p1[0] != p2[0]
m = (p2[1] - p1[1]) / (p2[0] - p1[0])
n = p1[1] - m * p1[0]
return m, n
Примечание: Этот вопрос был поднят для Python 2, см. Как документировать множественные возвращаемые значения с помощью reStructuredText в Python 2? .
Однако:
- этот вопрос был посвящен Python 2
- прошло несколько лет
- ответы не ссылаются ни на одну официальную ссылку
- даже если нет официальной ссылки на множественные возвращаемые значения, мне не ясно, что является лучшей практикой (ни один из двух ответов не выделяется) - я думаю, что это довольно распространенная проблема, и мне не терпится посмотреть, как вы, ребята, работаетевокруг этого отсутствия стандарта!