(original) (raw)
On Nov 10, 2010, at 2:21 PM, James Y Knight wrote:
On the other hand, if you make the primary mechanism to indicate privateness be a leading underscore, that's obvious to everyone.
+1.
One of the best features of Python is the ability to make a conscious decision to break the interface of a library and just get on with your work, even if your use-case is not really supported, because nothing can stop you calling its private functionality.
But, IMHO the worst problem with Python is the fact that you can do this \_without realizing it\_ and pay a steep maintenance price later when an upgrade of something springs the trap that you had unwittingly set for yourself.
The leading-underscore convention is the only thing I've found that even mitigates this problem.