On 25/07/15 22:08, boB Stepp wrote:

4) name_ is used when one is "forced" to use one of Python's reserved
words as a name.

Various others have commented on the use cases for this. I'd just add that my solution to using a name that's already used by the language (or even already used by my project) is to attach an article prefix such as 'my':

Thus instead of using 'type_' I'd use 'my_type' or 'the_type'.

I also do this a lot in parameter lists of functions/methods so:

def someMethod(self, aWidget, aDimension):
    ....

which avoids the common confusion where the parameters are the
same as the names of variables in the calling scope and it
can get confusing as to whether references inside the method
are to parameters or global names.

In particular in class definitions I often use theXXX for a
class attribute name, myXXX for an instance attribute name,
and aXXX for the parameter of a method.

This is not nearly so important in Python because you have to
use self.xxx to get the attribute (and use Class.xxx for
class attributes) but in other OOP languages where self
is not required I find it helps a lot.

I work quite hard to avoid names with dangling underscores because:
1) They look like an error - somebody forgot to type half the name!
2) Depending on font its hard to differentiate single and
   double underscores.
3) They make reading the code aloud (eg over the phone during
    a late night call-out!) much more difficult.

--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos


_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to