[Python-Dev] conditional expressions - add parens? (original) (raw)

Fredrik Lundh fredrik at pythonware.com
Tue Mar 7 06:38:55 CET 2006


Alex Martelli wrote:

On Mar 6, 2006, at 9:17 AM, Jim Jewett wrote: ... > I think that adding parentheses would help, by at least signalling > that the logic is longer than just the next (single) expression. > > level = (0 if "absoluteimport" in self.futures else -1)

+1 (just because I can't give it +3.1415926...!!!). Mandatory parentheses make this form MUCH more readable.

but which parens ?

level = 0 if "absolute_import" in self.futures else -1

level = 0 if ("absolute_import" in self.futures) else -1

level = (0 if "absolute_import" in self.futures else -1)

level = (0 if ("absolute_import" in self.futures) else -1)

level = ((0) if ("absolute_import" in self.futures) else (-1)) # ...

if you're asking me, I'd say that the second alternative is most readable here.

at least as long as

level = if ("absolute_import" in self.futures) then 0 else -1

is not on the list...

level = 0 or -1 depending on "absolute_import" in self.futures



More information about the Python-Dev mailing list