#python
#python
Вопрос:
Вот фрагмент кода из django.core.exceptions
:
class MiddlewareNotUsed(Exception):
"This middleware is not used in this server configuration"
pass
Является ли голая строка в теле класса простым литералом для документации? Или это выполняет какую-то магию?
Комментарии:
1. Пожалуйста, не оставайтесь в стороне от них. Строки документации — одна из моих любимых функций python. 1) Они позволяют легко документировать. 2) В интерпретаторе можно получить доступ к строке документа объекта / функции
my_object.__doc__
, что значительно упрощает изучение новой библиотеки. 3) Они позволяют проводить простые модульные тесты с модулем docttest.
Ответ №1:
Это строка документа:
Строка документа — это строковый литерал, который встречается в качестве первого оператора в определении модуля, функции, класса или метода. Такая строка документа становится
__doc__
специальным атрибутом этого объекта.Все модули обычно должны иметь строки документации, и все функции и классы, экспортируемые модулем, также должны иметь строки документации. Общедоступные методы (включая
__init__
конструктор) также должны иметь строки документации. Пакет может быть задокументирован в__init__.py
строке документа модуля файла в каталоге пакета.
Комментарии:
1. Вы также можете добавить, почему у вас должны быть строки документации. Например, возможность автоматического тестирования с
doctest
помощью модуля.
Ответ №2:
Это строка документа. Единственная магия заключается в том, что она заканчивается на объекте как __doc__
.
Ответ №3:
Это называется docstring .