> Have you tried this? I believe it doesn't even work; types defined in > C++ are supposed to be immutable. Try adding a new method to list or > dict. I noticed that and I was trying to figure out if I could create a new metatype which would add a __dict__ and a method (called add_method or something like that) that could be used as a decorator for monkeypatching. I was partly using this as an exercise to learn more about the Python internals and I'm probably going down a rathole.
> However the C++ side should be able to create instances of the > Python-defined subclass as long as it runs in a method, since it has > a reference to the actual class. This is what I'm currently doing and it does work, but I'm trying to build my extension type in such a way that it lazily gets initialized as a python object only if it is passed to the python side of things. For this object, 75% of the time, it is created and used in C++ only and I'd like to not pay for the python object creation overhead if I don't have to. I am putting PyObject_Head at the front of my class, but only initializing it if it is passed to python. I had intended to initialize the python bits with a C++ type, but I guess I could do it with a cached module lookup of the python derived type. Allocation is really tricky too, so this all may just not be worth the hassle. :) Anyway, if these types of issues are inappropriate for this forum, I'll keep quiet. _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com