(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.