Предположим, что у меня есть следующая c-программа со встроенным python:
const char *pyCode =
"class Foo:\n"
" def __init__(self):\n"
" self.foo = 42\n"
" def set_foo(foo):\n"
" self.foo=foo\n"
"\n"
"foo=Foo()\n"
;
Py_Initialize();
PyObject* main_module = PyImport_AddModule("__main__");
PyObject* main_dict = PyModule_GetDict(main_module);
PyRun_StringFlags(pyCode, Py_file_input, main_dict, main_dict, NULL);
PyObject *FooObj = PyDict_GetItemString(main_dict, "foo");
Теперь переменная C FooObj
является ссылкой на экземпляр Python foo
. Но как мне получить доступ к атрибутам FooObj
из C?
В частности, как я могу получить доступ к PyObject 'foo.foo'?
А как мне из C вызвать функцию-член foo.set_foo ()?