Why is Python not fully object-oriented? [closed]
Solution 1:
Python doesn't support strong encapsulation, which is only one of many features associated with the term "object-oriented".
The answer is simply philosophy. Guido doesn't like hiding things, and many in the Python community agree with him.
Solution 2:
Guido once said that "we are all consenting adults here". Here's the longer explanation from long ago: http://mail.python.org/pipermail/tutor/2003-October/025932.html
There's an agreement that underscores mean private elements and you should not use them. Unless you know what you're doing and you really want to.
The link also mentions another way to put it in case of Perl:
"a Perl module would prefer that you stayed out of its living room
because you weren't invited, not because it has a shotgun."
Solution 3:
Access modifiers (public, private, protected, etc) are not required for class-based programming. They are just a feature, like multiple inheritance.