For review: PEP 308 - If-then-else expression
David Eppstein
eppstein at ics.uci.edu
Sat Feb 8 01:11:59 EST 2003
More information about the Python-list mailing list
Sat Feb 8 01:11:59 EST 2003
- Previous message (by thread): For review: PEP 308 - If-then-else expression
- Next message (by thread): For review: PEP 308 - If-then-else expression
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
In article <mailman.1044675560.14943.python-list at python.org>, Carel Fellinger <carel.fellinger at chello.nl> wrote: > > Carel> The proposal as is looks reasonable to me, it would clean up > > Carel> those few uses of (a and b or c) that I have in my code. > > > > Would you mind showing us some concrete examples? I think that > > some real code examples would be quite useful to the discussion. > > Bumbers, it has been quit some time since I used that construct, and > it's not as easily spotted as C's ternary operator either. I've found > one example, others are made up. As far as I can remember, the last time I wanted to use that construct, I couldn't, because b was false. Hah! Found it: if i < 0: col = None else: col = cols[i] Here cols[i] is a string, and I didn't want to assume that it is always nonempty, so the and-or construct doesn't work. I think this would be a good candidate for a one-liner: col = cols[i] if i >= 0 else None I also just grepped through the same small project (1000 lines), and found two examples where I did use the construct. In both cases I used "x and 1 or 0" to normalize a boolean. Of course that could have been "not not x" or better (in 2.3) "bool(x)"... To me, the fact that people are treating "a and b or c" as a standard idiom is a sign that we should replace it with something less likely to be buggy and more understandable. -- David Eppstein UC Irvine Dept. of Information & Computer Science eppstein at ics.uci.edu http://www.ics.uci.edu/~eppstein/
- Previous message (by thread): For review: PEP 308 - If-then-else expression
- Next message (by thread): For review: PEP 308 - If-then-else expression
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list