[IronPython] Codeplex Issue:

Michael Foord fuzzyman at voidspace.org.uk
Wed Nov 12 08:24:10 CET 2008

Hello guys,

Sorry to do this by email, but I'm travelling (anyone on list going to 
be at PyWorks?)  and the internet connection is too ropey for me to 
comment directly on Codeplex.

I wanted to make a (minor!) comment regarding Codeplex issue 19488.


In general it is great - IronPython samples *should* follow PEP 8 as 
much as possible (how come Ruby guys got nice method aliasing and we 
didn't by the way? Hmm... maybe excessive aliasing isn't Pythonic).

*However* I'd just like to clarify the use of the double underscore 
prefix on class member names.

The issue states:

"there's a class in formv8.py that has named members such as 
"self._button1". I think what was actually intended here was 
"self.__button1" to make button1 a pseudo-private member. We need to fix 
this so new Python developers don't get confused"

Using a single underscore prefix is the *correct* way to indicate that a 
member is private in Python. The purpose of the double underscore name 
mangling is actually an admitted hack to avoid name collisions in 
inheritance - not to provide private members.

(Today's lesson is *never* use double underscore prefix member names 
unless you really have to - and even then you or someone else will still 
regret it. :-) That's all - nit-pick over.



More information about the Ironpython-users mailing list