On 10/10/12 12:51 AM, Steven D'Aprano wrote:
On Tue, 09 Oct 2012 11:08:13 -0600, Ian Kelly wrote:

On Tue, Oct 9, 2012 at 8:08 AM, Demian Brecht <demianbre...@gmail.com>
wrote:
A single underscore semantically means private. A double underscore
will name mangle the function such that it's only accessible strictly
by name through the class that it's define in. Note that you *can*
still access it if you understand how name mangling works. Nothing in
Python is truly private.

I tend to view name mangling as being more for avoiding internal
attribute collisions in complex inheritance structures than for
designating names as private.

Really? I tend to view name mangling as a waste of time, and complex
inheritance structures as something to avoid.

Whatever you may think of the use case, it was the motivating reason why it was put into the language:

http://docs.python.org/reference/lexical_analysis.html#reserved-classes-of-identifiers

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
 that is made terrible by our own mad attempt to interpret it as though it had
 an underlying truth."
  -- Umberto Eco

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

Reply via email to