2011/10/27 candide <candide@free.invalid>

> I realize that built-in types objects don't provide a __dict__ attribute
> and thereby i can't set an attribute to a such object, for instance
>
>
> >>> a=[42,421]
> >>> a.foo="bar"
> Traceback (most recent call last):
>  File "<stdin>", line 1, in <module>
> AttributeError: 'list' object has no attribute 'foo'
> >>> a.__dict__
> Traceback (most recent call last):
>  File "<stdin>", line 1, in <module>
> AttributeError: 'list' object has no attribute '__dict__'
> >>>
>
>
> So, i was wondering :
>
> -- why this behaviour ?
>

performance


> -- where the official documentation refers to this point ?
>

it's here and there in python documentation. I did not find specific
documentation about the __dict__ property.

Have a look at :

- naming conventions in http://www.python.org/dev/peps/pep-0008/
- http://docs.python.org/library/stdtypes.html#modules

__dict__ is similar to other __*__ properties and has a function that
actually use it to do something usefull aka. dir
http://docs.python.org/library/functions.html#dir

The way I understand it is that it's for internal use but it's exposed for
debugging (and learning ?) purpose.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to