3 Программный доступ к строкам документов

Строки документов, в отличие от обычных комментариев, хранятся как атрибут функции, которую они документируют, а это означает, что вы можете обращаться к ним программно.

Пример функции

 def func():
    """This is a function that does nothing at all"""
    return

 

Строка документации можно получить с помощью __doc__ атрибута:

 print(func.__doc__)

 

Эта функция вообще ничего не делает

 help(func)

 

Справка по функции func в модуле __main__ :

func()

Эта функция вообще ничего не делает

Еще один пример функции

function.__doc__ только фактическая строка документации в виде строки, в то время как help функция предоставляет общую информацию о функции, включая строку документации. Вот более полезный пример:

 def greet(name, greeting="Hello"):
    """Print a greeting to the user `name`

    Optional parameter `greeting` can change what they're greeted with."""

    print("{} {}".format(greeting, name))
 

помощь (приветствовать)

Справка по функции greet в модуле __main__ :

greet(name, greeting='Hello')

Печать приветствие пользователя name \ Необязательный параметр greeting может изменить то , что они встречали с.

Преимущества строк документации перед обычными комментариями

Просто не вставляя строку документации или обычный комментарий в функцию, это делает ее намного менее полезной.

 def greet(name, greeting="Hello"):
    # Print a greeting to the user `name`
    # Optional parameter `greeting` can change what they're greeted with.

    print("{} {}".format(greeting, name))
 

печать (здороваться. документ)

Никто

 help(greet)

 

Справка по функции здороваться в модуле основной:

greet(name, greeting='Hello')