A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://mail.python.org/pipermail/python-dev/2007-February/071025.html below:

[Python-Dev] New syntax for 'dynamic' attribute access

[Python-Dev] New syntax for 'dynamic' attribute access [Python-Dev] New syntax for 'dynamic' attribute accessGeorg Brandl g.brandl at gmx.net
Tue Feb 13 09:33:49 CET 2007
Martin v. Löwis schrieb:
> Ron Adam schrieb:
>> I think it's gets a bit awkward in some situations.
>> 
>> 
>>     if bar->'__%s__' % attr < -42: print 'Hello World'
>> 
>>     if bar.['__%s__' % attr] > -42: print 'Hello World'
>> 
>> 
>> To me it's easier to parse the second one visually.
> 
> 
> Ah, precedence.
> 
> It definitly should be a bracketed form, or else people
> always wonder what the precedence is, and add parenthesis
> anyway just to be on the safe side.

Indeed.

> BTW, which of these would be correct
> 
>   (a).[b]
Yes. (you can write (a).b today)

>   (a.)[b]
No. (you can't write (a.)b today)

>   a.[(b)]
Yes. (you can write a[(b)] today)

>   a.([b])
No. (you can't write a([b]) today)

>   a   .  [  b  ]
Yes. (you can write a . b today)

In short, I'd just add a new form to Grammar's trailer:

trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' attrtrailer
attrtrailer: '[' test ']' | NAME

This should be consistent and unsurprising.

> and what is the semantics of
> 
>   a.[42]

A TypeError, just as getattr(a, 42) would be.

I think I like the .[] form better, that being a +0 now.

Georg

More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4