Содержание страницы
pyclbr – поддержка браузера классов Python¶pyclbr – 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, определяющий класс.
Объекты функций¶Function Objects
Объекты Function, используемые в качестве значений в словаре, возвращаемом функцией readmodule_ex(), предоставляют следующие атрибуты:
- Function.module¶
- Имя модуля, определяющего функцию, описываемую дескриптором функции.
- Function.name¶
- Имя функции.
- Function.file¶
- Имя файла, содержащего оператор def, определяющий функцию.