For review: PEP 308 - If-then-else expression
gausebec-spam at paypal.com
Sat Feb 8 03:13:30 CET 2003
>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.
The simple example I used in a previous thread is:
extension = "html"
extension = "txt"
print "Processed %s.%s." % (filename, extension)
This could currently also be implemented as
print "Processed %s.%s." % (filename, is_html and "html" or "txt")
Per the PEP, it would be
print "Processed %s.%s." % (filename, "html" if is_html else "txt")
The alternate version that I currently like is to use essentially the
current 'if' syntax but with a different keyword, operating on
expressions instead of statements. Of course, the big problem with
this is that it would require a new keyword. If the keyword is
'when', it would look like:
print "Processed %s.%s." % (filename, when is_html: "html" else: "txt")
More information about the Python-list