pyclbr.md
1> **Источник:** https://python-all.ru/3.0/library/pyclbr.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# `pyclbr` – поддержка браузера классов Python89Модуль `pyclbr` позволяет получить ограниченную информацию о классах, методах и функциях верхнего уровня, определённых в модуле. Предоставленных сведений достаточно для реализации классического трёхпанельного обозревателя классов. Информация извлекается из исходного кода, а не путём импорта модуля, поэтому этот модуль безопасно использовать с недоверенным кодом. Из-за этого ограничения невозможно применить модуль к модулям, реализованным не на Python, включая все стандартные и дополнительные модули расширения.1011#### `[pyclbr.readmodule]pyclbr.readmodule(module[, path=None])`1213Читает модуль и возвращает словарь, сопоставляющий имена классов с объектами-дескрипторами классов. Параметр1415*module*1617должен быть именем модуля в виде строки; это может быть имя модуля внутри пакета. Параметр1819*path*2021должен быть последовательностью и используется для дополнения значения2223`sys.path`2425, с помощью которого находится исходный код модуля.2627#### `[pyclbr.readmodule_ex]pyclbr.readmodule_ex(module[, path=None])`2829Действует как3031[`readmodule()`](https://python-all.ru/3.0/library/pyclbr.html#pyclbr.readmodule)3233, но возвращаемый словарь, помимо сопоставления имён классов объектам-дескрипторам классов, также сопоставляет имена функций верхнего уровня объектам-дескрипторам функций. Кроме того, если читаемый модуль является пакетом, то ключ3435`'__path__'`3637в возвращаемом словаре содержит в качестве значения список с путём поиска пакета.3839## Объекты класса4041Объекты `Class`, используемые в качестве значений в словаре, возвращаемом функциями [`readmodule()`](https://python-all.ru/3.0/library/pyclbr.html#pyclbr.readmodule) и [`readmodule_ex()`](https://python-all.ru/3.0/library/pyclbr.html#pyclbr.readmodule_ex), предоставляют следующие атрибуты:4243#### `[pyclbr.Class.module]Class.module`4445Имя модуля, определяющего класс, описываемый дескриптором класса.4647#### `[pyclbr.Class.name]Class.name`4849Имя класса.5051#### `[pyclbr.Class.super]Class.super`5253Список объектов5455`Class`5657, описывающих непосредственные базовые классы описываемого класса. Классы, которые указаны как суперклассы, но не обнаружены5859[`readmodule()`](https://python-all.ru/3.0/library/pyclbr.html#pyclbr.readmodule)6061, перечисляются в виде строки с именем класса вместо объектов6263`Class`6465.6667#### `[pyclbr.Class.methods]Class.methods`6869Словарь, отображающий имена методов в номера строк.7071#### `[pyclbr.Class.file]Class.file`7273Имя файла, содержащего оператор7475`class`7677, определяющий класс.7879#### `[pyclbr.Class.lineno]Class.lineno`8081Номер строки оператора8283`class`8485в файле, указанном в8687[`file`](https://python-all.ru/3.0/library/pyclbr.html#pyclbr.Class.file)8889.9091## Объекты функций9293Объекты `Function`, используемые в качестве значений в словаре, возвращаемом функцией [`readmodule_ex()`](https://python-all.ru/3.0/library/pyclbr.html#pyclbr.readmodule_ex), предоставляют следующие атрибуты:9495#### `[pyclbr.Function.module]Function.module`9697Имя модуля, определяющего функцию, описываемую дескриптором функции.9899#### `[pyclbr.Function.name]Function.name`100101Имя функции.102103#### `[pyclbr.Function.file]Function.file`104105Имя файла, содержащего оператор106107`def`108109, определяющий функцию.110111#### `[pyclbr.Function.lineno]Function.lineno`112113Номер строки оператора114115`def`116117в файле, указанном в118119[`file`](https://python-all.ru/3.0/library/pyclbr.html#pyclbr.Function.file)120121.122