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

pyclbr.md

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

1> **Источник:** https://python-all.ru/3.2/library/pyclbr.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 30.9. [`pyclbr`](https://python-all.ru/3.2/library/pyclbr.html#module-pyclbr) – поддержка обозревателя классов Python89**Исходный код:** [Lib/pyclbr.py](https://python-all.ru/src/3.2/Lib/pyclbr.py)1011---1213Модуль [`pyclbr`](https://python-all.ru/3.2/library/pyclbr.html#module-pyclbr) можно использовать для получения ограниченной информации о классах, методах и функциях верхнего уровня, определённых в модуле. Предоставляемых сведений достаточно для реализации традиционного трёхпанельного обозревателя классов. Информация извлекается из исходного кода, а не путём импорта модуля, поэтому этот модуль безопасно использовать с непроверенным кодом. Данное ограничение не позволяет применять модуль с модулями, не реализованными на Python, включая все стандартные и опциональные модули расширений.1415#### `pyclbr.readmodule(module, path=None)`1617Читает модуль и возвращает словарь, сопоставляющий имена классов с объектами-дескрипторами классов. Параметр *module* должен быть именем модуля в виде строки; это может быть имя модуля внутри пакета. Параметр *path* должен быть последовательностью и используется для дополнения значения `sys.path`, с помощью которого находится исходный код модуля.1819#### `pyclbr.readmodule_ex(module, path=None)`2021Действует как [`readmodule()`](https://python-all.ru/3.2/library/pyclbr.html#pyclbr.readmodule), но возвращаемый словарь, помимо сопоставления имён классов объектам-дескрипторам классов, также сопоставляет имена функций верхнего уровня объектам-дескрипторам функций. Кроме того, если читаемый модуль является пакетом, то ключ `'__path__'` в возвращаемом словаре содержит в качестве значения список с путём поиска пакета.2223## 30.9.1. Объекты классов2425Объекты `Class`, используемые в качестве значений в словаре, возвращаемом [`readmodule()`](https://python-all.ru/3.2/library/pyclbr.html#pyclbr.readmodule) и [`readmodule_ex()`](https://python-all.ru/3.2/library/pyclbr.html#pyclbr.readmodule_ex), предоставляют следующие атрибуты данных:2627#### `Class.module`2829Имя модуля, определяющего класс, описываемый дескриптором класса.3031#### `Class.name`3233Имя класса.3435#### `Class.super`3637Список объектов `Class`, описывающих непосредственные базовые классы описываемого класса. Классы, которые указаны как суперклассы, но не обнаружены [`readmodule()`](https://python-all.ru/3.2/library/pyclbr.html#pyclbr.readmodule), перечисляются в виде строки с именем класса вместо объектов `Class`.3839#### `Class.methods`4041Словарь, отображающий имена методов в номера строк.4243#### `Class.file`4445Имя файла, содержащего оператор `class`, определяющий класс.4647#### `Class.lineno`4849Номер строки оператора `class` в файле, указанном в [`file`](https://python-all.ru/3.2/library/pyclbr.html#pyclbr.Class.file).5051## 30.9.2. Объекты функций5253Объекты `Function`, используемые в качестве значений в словаре, возвращаемом [`readmodule_ex()`](https://python-all.ru/3.2/library/pyclbr.html#pyclbr.readmodule_ex), предоставляют следующие атрибуты:5455#### `Function.module`5657Имя модуля, определяющего функцию, описываемую дескриптором функции.5859#### `Function.name`6061Имя функции.6263#### `Function.file`6465Имя файла, содержащего оператор `def`, определяющий функцию.6667#### `Function.lineno`6869Номер строки оператора `def` в файле, указанном в [`file`](https://python-all.ru/3.2/library/pyclbr.html#pyclbr.Function.file).70