Документация Python неофициальный перевод

pydoc.md

42 строк · 7.1 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/2.7/library/pydoc.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 25.1. [`pydoc`](https://python-all.ru/2.7/library/pydoc.html#module-pydoc) – генератор документации и интерактивная справочная система89Новое в версии 2.1.1011**Исходный код:** [Lib/pydoc.py](https://python-all.ru/src/2.7/Lib/pydoc.py)1213---1415Модуль [`pydoc`](https://python-all.ru/2.7/library/pydoc.html#module-pydoc) автоматически создаёт документацию на основе модулей Python. Документация может выводиться в виде текстовых страниц на консоль, передаваться в веб-браузер или сохраняться в HTML-файлы.1617Для модулей, классов, функций и методов отображаемая документация получена из докстринга (т.е. атрибута `__doc__`) объекта и рекурсивно из его документируемых членов. Если докстринг отсутствует, [`pydoc`](https://python-all.ru/2.7/library/pydoc.html#module-pydoc) пытается получить описание из блока строк комментариев, расположенных непосредственно перед определением класса, функции или метода в исходном файле, или в начале модуля (см. [`inspect.getcomments()`](https://python-all.ru/2.7/library/inspect.html#inspect.getcomments)).1819Встроенная функция [`help()`](https://python-all.ru/2.7/library/functions.html#help) вызывает справочную систему в интерактивном интерпретаторе, которая использует [`pydoc`](https://python-all.ru/2.7/library/pydoc.html#module-pydoc) для генерации документации в виде текста на консоли. Этот же текстовый документ можно просматривать вне интерпретатора Python, запуская **pydoc** в качестве сценария в командной строке операционной системы. Например, выполнение2021```python22pydoc sys23```2425в командной строке отобразит документацию по модулю [`sys`](https://python-all.ru/2.7/library/sys.html#module-sys) в стиле, похожем на страницы руководства, выводимые командой Unix **man**. Аргументом для **pydoc** может быть имя функции, модуля или пакета, или точечная ссылка на класс, метод или функцию внутри модуля или модуля в пакете. Если аргумент для **pydoc** выглядит как путь (т.е. содержит разделитель пути вашей операционной системы, например, слеш в Unix) и указывает на существующий файл исходного кода Python, то документация генерируется для этого файла.2627> **Примечание**28>29> Чтобы найти объекты и их документацию, [`pydoc`](https://python-all.ru/2.7/library/pydoc.html#module-pydoc) импортирует модули, подлежащие документированию. Поэтому любой код на уровне модуля будет выполнен в этот момент. Используйте защиту `if __name__ == '__main__':`, чтобы выполнять код только при запуске файла как сценария, а не при импорте.3031При выводе на консоль **pydoc** пытается разбить вывод на страницы для удобства чтения. Если установлена переменная окружения `PAGER`, **pydoc** будет использовать её значение в качестве программы разбиения на страницы.3233Указание флага `-w` перед аргументом приведёт к записи HTML-документации в файл в текущем каталоге вместо отображения текста на консоли.3435Указание флага `-k` перед аргументом приведёт к поиску строк синопсиса во всех доступных модулях для заданного ключевого слова, снова в стиле, похожем на команду Unix **man**. Строка синопсиса модуля – это первая строка его докстринга.3637Вы также можете использовать **pydoc** для запуска HTTP-сервера на локальной машине, который будет обслуживать документацию для посещающих веб-браузеров. **pydoc -p 1234** запустит HTTP-сервер на порту 1234, позволяя просматривать документацию по адресу `http://localhost:1234/` в вашем любимом веб-браузере. **pydoc -g** запустит сервер и дополнительно откроет небольшой графический интерфейс на основе [`Tkinter`](https://python-all.ru/2.7/library/tkinter.html#module-Tkinter) для помощи в поиске страниц документации.3839При генерации документации **pydoc** использует текущее окружение и путь для поиска модулей. Таким образом, вызов **pydoc spam** документирует именно ту версию модуля, которую вы получите, запустив интерпретатор Python и набрав `import spam`.4041Документация модулей для основных модулей, как предполагается, находится по адресу [https://docs.python.org/library/](https://python-all.ru/2.7/library/index.html). Это можно переопределить, установив переменную окружения `PYTHONDOCS` на другой URL или на локальную директорию, содержащую страницы Справочного руководства по библиотеке.42