ternary operator
Delaney, Timothy C (Timothy)
tdelaney at avaya.com
Thu Feb 6 19:32:39 EST 2003
> From: Christopher A. Craig [mailto:list-python at ccraig.org]
>
> Paul Foley <see at below.invalid> writes:
>
> > On 05 Feb 2003 09:49:33 -0500, Christopher A Craig wrote:
> >
> > > gausebec-spam at paypal.com (David Gausebeck) writes:
> > >> 2) Is there any better workaround than the ones I've
> listed above?
> >
> > > if a: x = b
> > > else: x = c
> >
> > Urk. There really ought to be a PSU death squad dedicated
> to hunting
> > down people who write code like that!
>
> You like (b, c)[not a] better? I generally don't write code like
Nope. I like
if a:
x = b
else:
x = c
In fact, I have written into the Python style guide for my team explicitly to not write things like
if a: x = b
else: x = c
for much the same reason that I specify to not write
if (a)
x = b;
else
x = c;
or
if (a) x = b;
else x = c;
in C.
which is quite simply that they (a) don't convey the execution flow (indentation gives a visual representation), (b) are less extensible (they require remembering to move things around when you need more than one action) and (c) are very dangerous in the second case above.
Tim Delaney
More information about the Python-list
mailing list