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

pyclbr.md

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

1> **Источник:** https://python-all.ru/3.6/library/pyclbr.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 32.9. [`pyclbr`](https://python-all.ru/3.6/library/pyclbr.html#module-pyclbr) – поддержка браузера классов Python89**Исходный код:** [Lib/pyclbr.py](https://python-all.ru/src/3.6/Lib/pyclbr.py)1011---1213Модуль [`pyclbr`](https://python-all.ru/3.6/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.6/library/pyclbr.html#pyclbr.readmodule), но возвращаемый словарь, помимо отображения имён классов в объекты-дескрипторы классов, также отображает имена функций верхнего уровня в объекты-дескрипторы функций. Более того, если читаемый модуль является пакетом, ключ `'__path__'` в возвращаемом словаре содержит в качестве значения список с путём поиска пакета.2223## 32.9.1. Объекты классов2425Объекты `Class`, используемые как значения в словаре, возвращаемом [`readmodule()`](https://python-all.ru/3.6/library/pyclbr.html#pyclbr.readmodule) и [`readmodule_ex()`](https://python-all.ru/3.6/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.6/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.6/library/pyclbr.html#pyclbr.Class.file).5051## 32.9.2. Объекты функций5253Объекты `Function`, используемые как значения в словаре, возвращаемом [`readmodule_ex()`](https://python-all.ru/3.6/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.6/library/pyclbr.html#pyclbr.Function.file).70