| Store | Cart

[Python-Dev] Exception for setting attributes of built-in type

From: Guido van Rossum <gui...@python.org>
Mon, 15 Jun 2009 07:48:33 -0700
On Sun, Jun 14, 2009 at 4:19 PM, Guido van Rossum<guido at python.org> wrote:
> In general, CPython isn't always consistent in raising AttributeError> and TypeError when it comes to such policy issues: there are various> places that raise TypeError in typeobject.c (and probably elsewhere)> that simply forbid setting a specific attribute (another example is> __name__).

I should add that this policy is also forced somewhat by the existence
of the "multiple interpreters in one address space" feature, which is
used e.g. by mod_python. This feature attempts to provide isolation
between interpreters to the point that each one can have a completely
different set of modules loaded and can be working on a totally
different application. The implementation of CPython shares built-in
types between multiple interpreters (and it wouldn't be easy to change
this); if you were able to modify a built-in type from one
interpreter, all other interpreters would see that same modification.

-- 
--Guido van Rossum (home page: http://www.python.org/~guido/)

Recent Messages in this Thread
Seo Sanghyeon Jun 14, 2009 07:09 pm
Terry Reedy Jun 14, 2009 10:40 pm
MRAB Jun 14, 2009 10:42 pm
Guido van Rossum Jun 14, 2009 11:19 pm
Nick Coghlan Jun 15, 2009 11:27 am
Benjamin Peterson Jun 15, 2009 07:09 pm
Nick Coghlan Jun 15, 2009 09:31 pm
Guido van Rossum Jun 15, 2009 02:48 pm
Dino Viehland Jun 15, 2009 03:54 pm
Michael Foord Jun 15, 2009 04:10 pm
Guido van Rossum Jun 15, 2009 05:10 pm
Michael Foord Jun 15, 2009 05:20 pm
Dino Viehland Jul 02, 2009 11:45 pm
Messages in this thread