For review: PEP 308 - If-then-else expression
peter at engcorp.com
Sat Feb 8 00:49:23 CET 2003
Gerrit Holl wrote:
> Guido van Rossum schreef op vrijdag 7 februari om 18:16:27 +0000:
> > x if C else y if D else z <==> x if C else (y if D else z)
> Doesn't this equal ((z ,y)[bool(D)], x)[bool(C)]? I think it's
> good enough.
If I saw *either* of those in real code produced by someone in my group,
the code would immediately be rewritten. Neither is readable.
I realize Guido put together the list not as a style guide but to
show how the construct would be interpreted consistently in different
potentially ambiguous contexts. I accept that. Perhaps what the
list also shows, however, is the sort of abuse that might result.
That isn't necessarily a reason to reject the idea (massively nested
if/else statements are almost equally unreadable), but it's a concern.
More information about the Python-list