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

pyclbr.md

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

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