On Mon, 27 Jun 2011 20:30:12 +0100, Michael Foord <fuzzy...@voidspace.org.uk> wrote: > On 27/06/2011 20:22, R. David Murray wrote: > > [snip...] > > So, the correct generic term for something that can be accessed > > via attribute notation is attribute. The more specific term for an > > attribute that is a method is method. We don't currently have a more > > specific collective term for attributes that aren't methods. *That* > > is the problem. > > I think part of the problem is also that *some* people's usage of the > term doesn't match the precise terminology. > > It sounds like if I say "an object's attributes" some of us will expect > that to include the methods and some of us not. I'd say anecdotally that > when people talk about object attributes collectively they are *not* > including methods. When they talk about attribute lookup that rightly > includes everything.
Yes, I think that it is common to use 'attributes' to mean 'non-method attributes', and often the context can make clear which usage is intended. What we should do in our own docs is a different question, but we do have other cases where "it is clear from context" is considered a valid argument for technically imprecise terminology. And I think that's reasonable. > A precise term to describe "attributes that are not methods" would still > be helpful. I guess the closest we have is "non-descriptors", but that > requires a knowledge of the descriptor protocol for it to be useful. I'm not really as comfortable as I think I should be with the descriptor stuff, but aren't properties descriptors in the sense you are using it here? Yet I don't think a property should be called a method, even though it is implemented via a function(s) that looks a lot like a method. This is why talking about non-method attributes collectively is so fraught.... -- R. David Murray http://www.bitdance.com _______________________________________________ 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