<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#330033">
    <div class="moz-cite-prefix">On 2/28/2014 4:51 AM, Nick Coghlan
      wrote:<br>
    </div>
    <blockquote type="cite">
      <pre wrap="">The preferred notation in the PEP most resembles the existing lambda
use case, with "except" instead of "lambda", an exception handling
spec instead of an argument list and an additional leading expression:

    (expr except Exception: default)

Lots of people don't like the lambda notation though, so it isn't
necessarily a particularly compelling parallel to use. </pre>
    </blockquote>
    <br>
    Thank you for explaining why I find the above notation awkward.  ":
    as introducing a suite" never bothered me, because, as you've now
    enumerated, there are other uses of :.<br>
    <br>
    But the lambda syntax parallel is what I don't like about it... I
    find the lambda syntax hard to read.<br>
    <br>
    <blockquote type="cite">
      <pre wrap="">By contrast,
it's rare to hear any objections to the {key:value} dict display
syntax. Hence the proposed tweak to the syntax to define an "exception
handler expression" syntax that is analogous to a dict display rather
than a lambda expression:

    expr except (Exception: default)

However, I have realised that there <b class="moz-txt-star"><span class="moz-txt-tag">*</span>is<span class="moz-txt-tag">*</span></b> a major downside to that
notation, which is that it lacks the connotations of lazy evaluation
associated with lambda expressions, whereas the default result of an
except expression won't be evaluated at all if the exception isn't
thrown.</pre>
    </blockquote>
    You are overlooking that the keyword except provides exactly the
    connotation of lazy evaluation, so if this is your only reason for
    preferring the lambda syntax, you just erased it :)<br>
  </body>
</html>