Well __doc__ isn't a normal attribute -- it doesn't follow inheritance rules.
On Thu, Oct 22, 2009 at 10:25 AM, Antoine Pitrou <solip...@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@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/) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com