About classes and OOP in Python
Ben C
spamspam at spam.eggs
Tue Apr 11 14:50:23 EDT 2006
On 2006-04-11, Michele Simionato <michele.simionato at gmail.com> wrote:
> Roy Smith wrote:
><snip>
>> That being said, you can indeed have private data in Python. Just prefix
>> your variable names with two underscores (i.e. __foo), and they effectively
>> become private. Yes, you can bypass this if you really want to, but then
>> again, you can bypass private in C++ too.
> Wrong, _foo is a *private* name (in the sense "don't touch me!"), __foo
> on the contrary is a *protected* name ("touch me, touch me, don't worry
> I am protected against inheritance!").
> This is a common misconception, I made the error myself in the past.
Please explain! I didn't think _foo meant anything special, __foo
expands to _classname__foo for some sort of name-hiding. What am I
missing?
More information about the Python-list
mailing list