[Info] PEP 308 accepted - new conditional expressions

Rocco Moretti roccomoretti at hotpop.com
Fri Sep 30 20:53:41 CEST 2005

Reinhold Birkenfeld wrote:
> Hi,
> after Guido's pronouncement yesterday, in one of the next versions of Python
> there will be a conditional expression with the following syntax:
> X if C else Y

Any word on chaining?

That is, what would happen with the following constructs:

A if B else C if D else F
A if B if C else D else F

The first one is the tricky bit - it could be either

(A if B else C) if D else F
A if B else (C if D else F)

I'd expect the former from left-> right semantics, but reading the 
unparenthesized form, I'd see "A if B else ..." note that B is true, and 
conclude the expression evaluated to A (which would be wrong if D is false).

More information about the Python-list mailing list