On 23 February 2014 11:11, MRAB <python at mrabarnett.plus.com> wrote: > On 2014-02-23 00:09, Chris Angelico wrote: >> On Sun, Feb 23, 2014 at 11:00 AM, Thomas Wouters <thomas at python.org> >> wrote: >>> On Sat, Feb 22, 2014 at 2:08 AM, Thomas Wouters <thomas at python.org> >>> wrote: >>>> >>>> (FWIW, I have a working patch without tests that allows all of >>>> these, I'll upload it tonight so people can play with it. Oh, and >>>> FWIW, currently I'm +0 on the idea, -0 on the specific syntax.) >>> >>> >>> http://bugs.python.org/issue20739 is the patch. >> >> Thanks! >> >> You make a comment about precedence. When I wrote that up, it was >> basically just "that seems about right"; whether it's equal to >> lambda, equal to if/else, above both, below both, or in between, is >> free to be tweaked according to what makes sense. Nobody has to date >> discussed the exact precedence order, so feel free to tweak it for >> the benefit of implementation. >> > My feeling is that catching exceptions should have a lower precedence > than the other parts of an expression, but higher than comma, so: > > A if C else B except E: D > > would be parsed as: > > (A if C else B) except E: D > > I think that's because it's kind of replacing: > > try: > _ = expr > except E: > _ = D > > with the try..except enclosing the expression. Note that mandatory parentheses means we can duck the precedence question entirely, which I count as another point in favour of requiring them :) Cheers, Nick. -- Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
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