PEP-308 a "simplicity-first" alternative

Samuele Pedroni pedronis at bluewin.ch
Tue Feb 11 15:07:12 EST 2003


"holger krekel" <pyth at devel.trillke.net> ha scritto nel messaggio
news:mailman.1044992059.13191.python-list at python.org...
>
> I am still wondering if there is a simple way to fix the current
> ternary op "x and y or z".  Everybody knows by now that
> this "fails" if y is a false value.  Otherwise
> it works ok and is used in today's code everywhere.
>
> Inspired by "do the simplest thing that can possibly work"
> i now think that
>
>         x and y else z
>
> might just do it and avoid the need for a new construct.
> It's a very minor change just for fixing the problem at hand.
> It should be obvious what it does.
>
> if 'x' is true then 'y' is the result.  Else 'y' is the
> result.  So it doesn't matter if 'y' has a false value.
> Yes, it looks unusal but it is a simple "non-destructive"
> change which the people who now dislike PEP308 could
> probably live with.
>
> It has the positive side effect that explaining this
> ternary op variation goes hand in hand with explaining
> how and/or works in python.  And it acknowledges the
> fact that we "almost" have a ternary op. Also it reads
> left to right and the alternatives "y else z"
> read well.
>

+1






More information about the Python-list mailing list