[Python-Dev] can't set attributes of built-in/extension type

Neal Becker ndbecker2 at gmail.com
Sun Feb 24 15:49:48 CET 2008


Guido van Rossum wrote:

> On Sat, Feb 23, 2008 at 4:55 PM, Neal Becker <ndbecker2 at gmail.com> wrote:
>> There is some discussion on this subject, archived here:
>>  http://permalink.gmane.org/gmane.comp.python.general/560661
>>
>>  I wonder if anyone could shed some light on this subject?
>>
>>  (Or, help me understand, what is the difference between a type that I
>>  create using python C api and a python class?)
> 
> This is prohibited intentionally to prevent accidental fatal changes
> to built-in types (fatal to parts of the code that you never though
> of). Also, it is done to prevent the changes to affect different
> interpreters residing in the address space, since built-in types
> (unlike user-defined classes) are shared between all such
> interpreters.
> 

Thanks for the info.

I'm still curious.  What if I wanted to create a 'real' python class using
python c-api?  How is that done?



More information about the Python-Dev mailing list