Объекты модулей¶Module Objects
Есть лишь несколько функций, специфичных для объектов модуля.
- PyTypeObject PyModule_Type¶
Этот экземпляр PyTypeObject представляет тип модуля Python. Он доступен программам на Python как types.ModuleType.
- int PyModule_Check(PyObject *p)¶
Возвращает истину, если p является объектом модуля или подтипом объекта модуля.
Изменено в версии 2.2: Теперь допускаются подтипы.
- int PyModule_CheckExact(PyObject *p)¶
Возвращает true, если 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)¶
Возвращает имя файла, из которого был загружен модуль, используя модуль‘s __file__ атрибут. Если этот атрибут не определён или не является строкой, возбуждает 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_AddConstant(module, AF_INET) добавляет целочисленную константу AF_INET со значением AF_INET в module. Возвращает -1 при ошибке, 0 при успехе.
Новое в версии 2.6.