Why does python not have a mechanism for data hiding?

Russ P. Russ.Paielli at gmail.com
Tue Jun 3 00:39:44 CEST 2008

On Jun 2, 3:04 pm, Carl Banks <pavlovevide... at gmail.com> wrote:
> On Jun 2, 4:50 pm, "Russ P." <Russ.Paie... at gmail.com> wrote:
> > On Jun 2, 6:41 am, Carl Banks <pavlovevide... at gmail.com> wrote:
> > > You are not realizing that only useful(**) thing about data hiding is
> > > that some code has access to the data, other code does not.  If you
> > > "hide" data equally from everyone it's just a useless spelling change.
> > I think you're missing the point.
> Well that's nice: you're accusing me of missing the point after having
> quoted something I wrote as if it represented by own views, even
> though I footnoted it and said I was only doing it for the sake of
> argument.  Perhaps, outside this discussion, I am totally getting "the
> point".
> I can't tell, though, because I read your post twice and I have no
> idea what you consider "the point" to be.

> Best as I can tell you are claiming that data hiding isn't important,
> but then you go on to imply Python is blemished because it doesn't
> hide data.  It really makes no sense: perhaps you can help us out by
> giving us an example of something that illustrates what you're saying?

I think I made my point abundantly clear. I said that rigorously
denied access to encapsulated data is not important, but a clear
specification of what is intended for the client and what is intended
for internal use *is* important. And an ugly naming convention for
variable and function names is not the best way to do it.

I suggest you ask yourself why C++, Java, Ada, and probably most other
"object-oriented" languages, have encapsulation or "data hiding." And
no, I am not claiming that *every* application written in Python needs
it, but certainly *some* could benefit from it.

> (FWIW, my actual view on the matter is I don't give a lick about data
> hiding or marking internals.)

What kind of programming do you do?

More information about the Python-list mailing list