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

pyclbr – поддержка браузера классов Pythonpyclbr – Python class browser support

Модуль pyclbr позволяет получить ограниченную информацию о классах, методах и функциях верхнего уровня, определённых в модуле. Предоставленных сведений достаточно для реализации классического трёхпанельного обозревателя классов. Информация извлекается из исходного кода, а не путём импорта модуля, поэтому этот модуль безопасно использовать с недоверенным кодом. Из-за этого ограничения невозможно применить модуль к модулям, реализованным не на Python, включая все стандартные и дополнительные модули расширения.

pyclbr.readmodule(module[, path=None])
Читает модуль и возвращает словарь, сопоставляющий имена классов с объектами-дескрипторами классов. Параметр module должен быть именем модуля в виде строки; это может быть имя модуля внутри пакета. Параметр path должен быть последовательностью и используется для дополнения значения sys.path, с помощью которого находится исходный код модуля.
pyclbr.readmodule_ex(module[, path=None])
Действует как readmodule(), но возвращаемый словарь, помимо сопоставления имён классов объектам-дескрипторам классов, также сопоставляет имена функций верхнего уровня объектам-дескрипторам функций. Кроме того, если читаемый модуль является пакетом, то ключ '__path__' в возвращаемом словаре содержит в качестве значения список с путём поиска пакета.

Объекты классаClass Objects

Объекты Class, используемые в качестве значений в словаре, возвращаемом функциями readmodule() и readmodule_ex(), предоставляют следующие атрибуты:

Class.module
Имя модуля, определяющего класс, описываемый дескриптором класса.
Class.name
Имя класса.
Class.super
Список объектов Class, описывающих непосредственные базовые классы описываемого класса. Классы, которые указаны как суперклассы, но не обнаружены readmodule(), перечисляются в виде строки с именем класса вместо объектов Class.
Class.methods
Словарь, отображающий имена методов в номера строк.
Class.file
Имя файла, содержащего оператор class, определяющий класс.
Class.lineno
Номер строки оператора class в файле, указанном в file.

Объекты функцийFunction Objects

Объекты Function, используемые в качестве значений в словаре, возвращаемом функцией readmodule_ex(), предоставляют следующие атрибуты:

Function.module
Имя модуля, определяющего функцию, описываемую дескриптором функции.
Function.name
Имя функции.
Function.file
Имя файла, содержащего оператор def, определяющий функцию.
Function.lineno
Номер строки оператора def в файле, указанном в file.