Есть ли способ держать Docstrings отдельно от функций, которые они документируют?
Вопрос
Я работаю над модулем со многими небольшими функциями, но чьи доктора, как правило, довольно длинные. Docstrings заставляют работать над модулем, раздражающим, поскольку мне приходится постоянно прокручивать длинный Docstring, чтобы найти немного фактического кода.
Есть ли способ держать Docstrings отдельно от функций, которые они документируют? Я действительно хотел бы иметь возможность указать DocStrings в конце файла вдали от кода или, что еще лучше, в отдельном файле.
Решение
Docstring для функции доступен в качестве специального атрибута __doc__
.
>>> def f(x):
... "return the square of x"
... return x * x
>>> f.__doc__
'return the square of x'
>>> help(f)
(help page with appropriate docstring)
>>> f.__doc__ = "Return the argument squared"
>>> help(f)
(help page with new docstring)
В любом случае, это демонстрирует технику. На практике вы можете:
def f(x):
return x * x
f.__doc__ = """
Return the square of the function argument.
Arguments: x - number to square
Return value: x squared
Exceptions: none
Global variables used: none
Side effects: none
Limitations: none
"""
... или все, что вы хотите поместить в свои Docstrings.
Не связан с StackOverflow