Я пытаюсь использовать API Python C для определения нового класса в модуле, который выставил бы определенную функциональность, записанную в C в код Python. Я конкретно хочу иметь его в форме класса и не ряда функций модуля.
Однако я ничего не могу найти относительно этой конкретной задачи в официальной документации. Самой близкой, которую я мог найти, является функция PyClass_New (в заголовке Python.h), но это не упоминается нигде в официальных документах, таким образом, я предполагаю, что это, как предполагается, не используется.
Так, что надлежащий путь состоит в том, чтобы определить новый класс Python из кода C?
Спасибо.
В Справочном руководстве по Python / C API объясняется это, в частности Определение новых типов .
Эта часть документации (и связанных с ней) должна предоставить вам большую часть необходимой информации. Источники xxsubtype.c предоставляют один пример модуля, который определяет новый класс (как подкласс list
, чтобы точно показать, как это сделать) и xxmodule.c показывает (среди прочего) также, как определить новый тип.