@staticmethod при расширении с помощью c (++)

Создать класс, используемый в Python, довольно просто:
http://code.activestate.com/recipes/54352-defining-python-class-methods-in-c/

Но как сделать методы статичными?

0

Решение

Использовать METH_STATIC флаг в PyMethodDef. Методу будет передано значение NULL в качестве первого параметра, а не экземпляр типа.

static PyMethodDef FooMethods[] =
{
{"__init__", Foo_init, METH_VARARGS,
"doc string"},
{"doSomething", Foo_doSomething, METH_VARARGS | METH_STATIC,
"doc string"},
{NULL},
};
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector