[Python-Dev] New syntax for 'dynamic' attribute access (original) (raw)

Brett Cannon brett at python.org
Mon Feb 12 22:47:51 CET 2007


On 2/12/07, Raymond Hettinger <python at rcn.com> wrote:

[Jack Jansen] > I like the functionality, but I don't like the syntax, to me it looks > too much like a method call. > > To me self.[methodname] = self.metadata.[methodname] looks better: > what we're doing here is more like dictionary lookup than calling > functions.

I also like the functionality. Rather than munge existing syntaxes, an altogether new one would be more clear: self->name = self.metadata->name I like the arrow syntax because is the lookup process can be more involved than a simple dictionary lookup (perhaps traveling up to base classes). IOW, getattr(a,n) is not always the same as a.dict[n]. The a.getattribute(n) process can be more complex than that and a bracketed dictionary-like syntax would misleadingly mask the lookup process.

I actually kind of like that. The connection to pointer indirection meshes well with the idea of indirectly figuring out what attribute to access at runtime.

-Brett



More information about the Python-Dev mailing list