[Python-Dev] PEP 463: Exception-catching expressions
Chris Angelico
rosuav at gmail.com
Sat Feb 22 05:04:35 CET 2014
More information about the Python-Dev mailing list
Sat Feb 22 05:04:35 CET 2014
- Previous message: [Python-Dev] PEP 463: Exception-catching expressions
- Next message: [Python-Dev] PEP 463: Exception-catching expressions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Sat, Feb 22, 2014 at 1:07 PM, Victor Stinner <victor.stinner at gmail.com> wrote: > At the first read, I'm unable to understand this long expression. At > the second read, I'm still unable to see which instruction will be > executed first: lvl1[key] or lvl2[key]? > > The advantage of the current syntax is that the control flow is > obvious, from the top to the bottom: > > # start > try: > x = lvl1[key] # first instruction > except KeyError: > try: > x = lvl2[key] > except KeyError: > x = f(key) # latest instruction > # end That's why I'm strongly in favour of syntax variants that have evaluation order be equally obvious: left to right. Its notation may be uglier, but C's ternary operator does get this right, where Python's executes from the inside out. It's not a big deal when most of it is constants, but it can help a lot when the expressions nest. ChrisA
- Previous message: [Python-Dev] PEP 463: Exception-catching expressions
- Next message: [Python-Dev] PEP 463: Exception-catching expressions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list