[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

AltStyle によって変換されたページ (->オリジナル) /