Объекты модулей¶Module Objects
Есть лишь несколько функций, специфичных для объектов модуля.
-
PyTypeObject
PyModule_Type¶ Этот экземпляр
PyTypeObjectпредставляет тип Python-модуля. Он доступен программам Python какtypes.ModuleType.
-
int
PyModule_Check(PyObject *p)¶ Возвращает истину, если p является объектом модуля или подтипом объекта модуля.
Изменено в версии 2.2: Теперь допускаются подтипы.
-
int
PyModule_CheckExact(PyObject *p)¶ Возвращает истину, если p является объектом модуля, но не подтипом
PyModule_Type.Новое в версии 2.2.
-
PyObject*
PyModule_New(const char *name)¶ - Возвращаемое значение: новая ссылка.
Возвращает новый объект модуля с атрибутом
__name__, установленным в name. Заполняются только атрибуты__doc__и__name__модуля; вызывающий код отвечает за предоставление атрибута__file__.
-
PyObject*
PyModule_GetDict(PyObject *module)¶ - Возвращаемое значение: заимствованная ссылка.
Возвращает объект словаря, реализующий пространство имён module; этот объект совпадает с атрибутом
__dict__объекта модуля. Эта функция никогда не завершается ошибкой. Расширениям рекомендуется использовать другие функцииPyModule_*()иPyObject_*(), а не напрямую манипулировать__dict__модуля.
-
char*
PyModule_GetName(PyObject *module)¶ Возвращает значение
__name__module. Если модуль не предоставляет такого значения или оно не является строкой, возбуждаетсяSystemErrorи возвращается NULL.
-
char*
PyModule_GetFilename(PyObject *module)¶ Возвращает имя файла, из которого был загружен module, используя атрибут
__file__module. Если он не определён или не является строкой, возбуждаетсяSystemErrorи возвращается NULL.
-
int
PyModule_AddObject(PyObject *module, const char *name, PyObject *value)¶ Добавляет объект в module под именем name. Это удобная функция, которую можно использовать в функции инициализации модуля. Она похищает ссылку на value. Возвращает
-1при ошибке,0при успехе.Новое в версии 2.0.
-
int
PyModule_AddIntConstant(PyObject *module, const char *name, long value)¶ Добавляет целочисленную константу в модуль module под именем name. Эту удобную функцию можно использовать из функции инициализации модуля. Возвращает
-1в случае ошибки,0при успешном выполнении.Новое в версии 2.0.
-
int
PyModule_AddStringConstant(PyObject *module, const char *name, const char *value)¶ Добавляет строковую константу в module под именем name. Эту вспомогательную функцию можно использовать в функции инициализации модуля. Строка value должна завершаться нулевым символом. Возвращает
-1при ошибке,0при успехе.Новое в версии 2.0.
-
int
PyModule_AddIntMacro(PyObject *module, macro)¶ Добавляет целочисленную константу в модуль module. Имя и значение берутся из macro. Например,
PyModule_AddIntMacro(module, AF_INET)добавляет целочисленную константу AF_INET со значением AF_INET в модуль module. Возвращает-1в случае ошибки,0при успешном выполнении.Новое в версии 2.6.