Steven D'Aprano a écrit :
(snip)
But it's quite rare to see double-underscore "really private" attributes in Python code. It is considered to go against the spirit of the language.

Not necessarily "against the spirit" - it's mostly than __name_mangling is only really useful when you want to protect a really vital implementation attribute from being *accidentaly* overridden, and mostly annoying anywhere else.

I'm told that in Java it is quite difficult to change a class from using public attributes to getters/setters,

That's an understatement. Java has *no* support for computed attributes, so you just can *not* turn a public attribute into a computed one.

and therefore many Java developers prefer to use getters/setters right from the beginning.

Truth is that they have no other choice if they want to be able to decouple implementation from interface.

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to