[Python-Dev] readonly __doc__

Guido van Rossum guido at python.org
Thu Oct 22 19:58:08 CEST 2009


Well __doc__ isn't a normal attribute -- it doesn't follow inheritance rules.

On Thu, Oct 22, 2009 at 10:25 AM, Antoine Pitrou <solipsis at pitrou.net> wrote:
> Guido van Rossum <guido <at> python.org> writes:
>>
>> On Thu, Oct 22, 2009 at 9:45 AM, Antoine Pitrou <solipsis <at> pitrou.net>
> wrote:
>> >
>> > Speaking of the __doc__ property, I just noticed the following thing
> on py3k:
>> >
>> >>>> class C: pass
>> > ...
>> >>>> C.__doc__ = "hop"
>> > Traceback (most recent call last):
>> >  File "<stdin>", line 1, in <module>
>> > AttributeError: attribute '__doc__' of 'type' objects is not writable
>> >
>> > Is this deliberate?
>>
>> Yes.
>
> I might add why I was asking this question. I was trying to demonstrate the use
> of class decorators and the simplest example I found was to add a docstring to
> the class. And I was surprised when I saw the following fail with the
> aforementioned exception:
>
> def classdeco(cls):
>    cls.__doc__ = "decorated!"
>    return cls
>
> @classdeco
> class C:
>    pass
>
>
> Regards
>
> Antoine.
>
>
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: http://mail.python.org/mailman/options/python-dev/guido%40python.org
>



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


More information about the Python-Dev mailing list