API class creation
kman3048
mknoth at earthlink.net
Fri Aug 5 10:31:30 EDT 2005
Thanks, that helped a lot.
Anybody who wants to attempt the same might find the
source code tree of Python i.e. file src/Modules/cdmodule.c
helpful.
--Matt
Daniel Dittmar wrote:
> kman3048 wrote:
> > Hello,
> >
> > as a relative newcomer to Python API programming I've got a problem:
> >
> > To extend Python:
> > - there is an API C call to create a module
> > - there is also a API C call to create a method
> > - there is an API C call to create a Class instance
> >
> > Now, I need to create a Class and fill it with Methods and Variables.
> > There are means to create (and attache) methods and variables.
> > However, I have not found how to create a Class within a Module. Or do
> > I have to use a low level API function to allocate an Object from Heap?
>
> static PyMethodDef moduleMethods [] = {
> ...
> };
>
> statichere PyTypeObject MyClassType = {
> PyObject_HEAD_INIT (NULL)
> ...
> };
>
> initmymodule ()
> {
> PyObject* module;
> PyObject* dict;
>
> module = Py_InitModule4 ("mymodule", moduleMethods,
> "doc string", NULL, PYTHON_API_VERSION);
> if (module == NULL) {
> return;
> }
> dict = PyModule_GetDict (module);
> PyDict_SetItemString (dict, "MyClass"),
> (PyObject*) &MyClassType));
> }
>
> Daniel
More information about the Python-list
mailing list