On 12/12/05, Guido van Rossum <[EMAIL PROTECTED]> wrote:
> Unfortunately that fails one of the other requirements, which (at the
> time of implementation) was minimal impact on the rest of the
> interpreter. Since __private isn't limited to self, and attribute
> lookup doesn't always result in a dict lookup, this would require a
> complete overhaul of the getattr API, both at the C and at the Python
> level.

I hate to flog a dead horse but I feel it's important to clarify my
intentions here.  I don't see why it couldn't require a dict. 
Immutable builtins will fail either way, and so will classes using
slots (unless they hardcode the required private name).  The only
problematic use-case I can think of is a proxy class, but is that
enough to dictate the entire design of the feature?

> But I guess you already said that when you said """Obviously it
> doesn't handle backwards compatibility, so it's more of a "if I could
> do it again.." suggestion."""

I was referring to code which already hardcodes the format of the
current approach, i.e.:
class Foo(object):
    def __init__(self):
        self.__private = 42
f = Foo()
print f._Foo__private

--
Adam Olsen, aka Rhamphoryncus
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to