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

Maric Michaud maric at aristote.info
Tue Feb 13 05:33:00 CET 2007


Le mardi 13 février 2007 01:36, Barry Warsaw a écrit :

On Feb 12, 2007, at 7:32 PM, Guido van Rossum wrote: > Oh, now I am definitely in favor of .[]! I read it in gmail in FireFox > which uses a small variable-pitch font whose dot is a single pixel. > The .() example was hard to find; the .[] jumped out immediately. > (When do you ever see self[anything]?)

Raymond's -> suggestion was nice. I really dislikes the .[ or .( or .{ operators. Just on my mail editor the two expressions

a.[b]

and

a,[b]

are quite hard to differentiate while completely unrelated.

Why did the brace syntax wasn't even discussed ? Seems clean to me.

obj{expr} can be read as "given obj as a namespace, retrieve the name resulting by expr in obj and enclosing namespaces (supers)".

We can even use slice-like syntax for further improvements :

obj{expr:default}

obj{expr:default:type_} something like getattr(super(type_, obj), expr, default), or even

obj{expr::} for getattr(super(obj.class, obj), expr)

and, why not, even obj{:} for super(obj.class, obj),

regards,



More information about the Python-Dev mailing list