On Sep 29, 11:11 am, Bruno Desthuilliers <bruno. 42.desthuilli...@websiteburo.invalid> wrote: > Mark Dickinson a écrit : > > On Sep 28, 9:37 am, Bruno Desthuilliers <bruno. > > 42.desthuilli...@websiteburo.invalid> wrote: > >> Looks like a bug to me. I Think you should fill a ticket... > > > I don't think it's a bug. Unless I'm missing something, > > it's the 'names in class scope are not accessible' gotcha, > > I would of course expect the class level name "__a" to be unreachable > from within __init__. What puzzle me is that local name "__a" (*not* > self.__a) in the __init__ resolves to the module level name "_uno__a".
Ah. So I was, of course, missing something. :) Apologies. > > The double underscores and name mangling are a red herring: > > I beg to disagree. The problem (well... what I think is a problem, > actually) IS that name mangling is applied to a method *local* variable. Hmm. The description of name mangling at: http://docs.python.org/reference/expressions.html#atom-identifiers indicates (if I'm reading it right) that this behaviour is at least intentional: it appears that name mangling occurs at an early stage of source processing. Yet another reason to avoid name mangling.... Mark -- http://mail.python.org/mailman/listinfo/python-list