Есть ли способ держать Docstrings отдельно от функций, которые они документируют?

StackOverflow https://stackoverflow.com/questions/4732850

  •  12-10-2019
  •  | 
  •  

Вопрос

Я работаю над модулем со многими небольшими функциями, но чьи доктора, как правило, довольно длинные. 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top