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
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