[Python-Dev] Summary of "dynamic attribute access" discussion
Guido van Rossum
guido at python.org
Tue Feb 13 20:22:53 CET 2007
I think the point of attrview() and x.[y] and getattr()/setattr() is
that these should be usable regardless of whether the object is
prepared for such use; they map directly to __getattr__ and
__setattr__. If I had to design an object specifically for such
dynamic access, sure, I'd implement __getitem__ and friends and the
need wouldn't exist. For that specific object. But the use case of
general objects is different.
On 2/13/07, Aahz <aahz at pythoncraft.com> wrote:
> On Tue, Feb 13, 2007, Ben North wrote:
> >
> > I think the "obj.[attr_name]" syntax has the most support. To stop this
> > going round in circles for ages, then, I will take this as the winner.
> > I'll mention the other contenders in the PEP, including the new
> > "visually distinctive" suggestions
> >
> > obj@[foo]
> > obj.[[foo]]
> >
> > and the "wrapper class" idea of Nick Coghlan:
> >
> > attrview(obj)[foo]
>
> For most cases where this is needed, why not just use a mixin class?
> That works perfectly well with current Python and doesn't even look
> funny:
>
> obj[foo] = blah
> print obj[foo]
>
> My company makes heavy use of this coding style, we can use obj.foo
> whenever appropriate.
> --
> Aahz (aahz at pythoncraft.com) <*> http://www.pythoncraft.com/
>
> "I disrespectfully agree." --SJM
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: http://mail.python.org/mailman/options/python-dev/guido%40python.org
>
--
--Guido van Rossum (home page: http://www.python.org/~guido/)
More information about the Python-Dev
mailing list