[Python-Dev] (try-except) conditional expression similar to (if-else) conditional (PEP 308)
Dj Gilcrease
digitalxero at gmail.com
Thu Aug 6 13:18:52 CEST 2009
On Thu, Aug 6, 2009 at 4:47 AM, Nick Coghlan<ncoghlan at gmail.com> wrote:
> Option 2:
> x = float(string) except ValueError: float('nan')
> op(float(string) except ValueError: float('nan'))
>
> This has the virtue of closely matching the statement syntax, but
> embedding colons inside expressions is somewhat ugly. Yes, lambda
> already does it, but lambda can hardly be put forward as a paragon of
> beauty.
+1 on this option as it resembles the standard try/except block enough
it would be a quick edit to convert it to one if later you realize you
need to catch more exceptions*
* I recommend NOT allowing multiple exceptions in this form eg
x = float(string)/var except ValueError, ZeroDivisionError, ...: float('nan')
as it will start to reduce readability quickly
More information about the Python-Dev
mailing list