[Python-ideas] exception based conditional expression, similar to if-else conditional expression

Ron Adam rrr at ronadam.com
Sat Aug 22 03:28:04 CEST 2009



Greg Ewing wrote:
> Steven D'Aprano wrote:
> 
>> Others have suggested that the colon should be dropped. I dislike that 
>> idea, because there's nothing but whitespace delimiting the list of 
>> exceptions from the except-expression:
>>
>> EXPR except EXCEPT-LIST EXCEPT-EXPR
> 
> I agree. Even if it can be parsed unambiguously, it's
> going to seem weird and confusing to a human.
> 
> So far I haven't seen anything I like better than
> 
>   <expr> except <value> if <exception>
> 
> despite the fact that it uses the words 'except'
> and 'if' in a different way than elsewhere.


Possibly the only way to do this within those constraints is a purely 
syntactic.

     value = (expr1 :exception: expr2)

Sense most people (and editors) recognize exceptions names easily, there 
really isn't a strong need to use the key word "except" in an expression 
like this.

The colons in this case can be considered to be similar to slice syntax. 
And if the colons are still considered bad, possibly some other symbol 
could be used.

Ron










More information about the Python-ideas mailing list