Is Python's understanding of privacy misguided?
Following up on this discussion: https://www.sololearn.com/discuss/1735413/ David Carroll, swim Is something objectively bad about the way Python deals with privacy in OOP? The point of encapsulation, abstraction, data hiding and all that is foremost to ensure that code units can be easily used, maintained or exchanged without effects all over the code, right? Python has the convention: 'Whatever starts with an underscore, doesn't belong to the interface and shouldn't be accessed.' I personally find this easy to understand, and from my perspective I can not recognize how that should lead to trouble in real life. Sure, in theory people might violate it and do damage - but you can do plenty of damage with every language if you want to - think pointers, crement operators or makros in C(++) for example. To me, a strong dislike against Python's understanding of privacy looks a lot like 'I don't like it because I'm not used to it.' But I am a beginner after all, so I wonder if I'm missing something ...