[Python-Dev] Issue10403 - using 'attributes' instead of members in documentation

R. David Murray rdmurray at bitdance.com
Mon Jun 27 18:56:32 CEST 2011

On Mon, 27 Jun 2011 15:27:12 +0100, Michael Foord <fuzzyman at voidspace.org.uk> wrote:
> On 27/06/2011 15:08, R. David Murray wrote:
> > 'data attributes' can so easily become something else in Python...it
> > seems to me that the only real difference between 'data attributes' and
> > 'method attributes' in Python is that the latter can be called and the
> > former can't.  But even that is not an accurate distinction, since a
> > 'data attribute' could, in fact, return a callable.
> >
> > I guess what I'm saying is that I am more comfortable calling them
> > all attributes than calling them all members.  The term 'members'
> > isn't used anywhere in the language itself, as far as I can recall,
> > whereas getattr and setattr are evidence that the language considers
> > them all attributes.  I think we do the documentation readers a
> > disservice by obscuring that fact by using other terminology.
> Well perhaps, but where does the language draw the distinction between 
> attributes and "data attributes" as you all them (a term entirely new to 

It doesn't, that's the point.  You'll note I put "data attributes"
in quotes :)

> me)? Only in the descriptor protocol and that term isn't used there 
> (data-descriptors and non data-descriptors is terminology used in the 
> documentation there).
> If you're saying that data attributes isn't clear either (I couldn't 
> quite tell from your email) then how *do* we draw a distinction. We 
> could talk about instance attributes, non-descriptor class attributes 
> and descriptors, but that terminology requires a reasonably advanced 
> understanding of the Python data model.

That's why I said it could be difficult to find good wording when
discussing both methods and "other things".  Most people have a pretty
clear idea of what methods are, but the non-method stuff in Python does
not have any simple description that is also accurate.  Maybe 'non-method
attribute' is as close as we can get?

> I don't think that "all members, made up of attributes plus methods" is 
> hard to understand. That's a great benefit. The fact that you can 
> technically treat methods as attributes too is a minor detail.

Well, I would find that very hard to understand, since methods are
attributes, and as Nick said that is *fundamental* to the language,
not a minor detail.

R. David Murray           http://www.bitdance.com

More information about the Python-Dev mailing list