Re: [Info] PEP 308 accepted - new conditional expressions
- From: Reinhold Birkenfeld <reinhold-birkenfeld-nospam@xxxxxxxxxx>
- Date: Fri, 30 Sep 2005 20:25:35 +0200
Fredrik Lundh wrote:
> Reinhold Birkenfeld wrote:
>
>> 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
>>
>> which is the same as today's
>>
>> (Y, X)[bool(C)]
>
> hopefully, only one of Y or X is actually evaluated ?
(cough) Yes, sorry, it's not the same. The same would be
(C and lambda:X or lambda:Y)()
if I'm not much mistaken.
>> C and X or Y (only if X is True)
>
> hopefully, "only if X is True" isn't in fact a limitation of "X if C else Y" ?
>
> /... snip comment that the natural order is C, X, Y and that programmers that
> care about readable code will probably want to be extremely careful with this
> new feature .../
Yes, that was my comment too, but I'll not demonize it before I have used it.
Reinhold
.
- Prev by Date: ASCII
- Next by Date: Re: ASCII
- Previous by thread: Re: [Info] PEP 308 accepted - new conditional expressions
- Next by thread: Re: [Info] PEP 308 accepted - new conditional expressions
- Index(es):