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

Объекты модулей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.

int PyModule_AddStringMacro(PyObject *module, macro)
Добавляет строковую константу в module.

Новое в версии 2.6.