Jim Jewett wrote:
Now that we have started to see conditional expressions ... I would like to see them parenthesized. The parens aren't as important as they are with generator expressions, but ... they matter.
From a recent checkin --
level = 0 if "absolute_import" in self.futures else -1
Personally I think the above code exemplifies exactly why Guido was correct in his reluctance to add conditional expressions.
Mentally, I can't help parsing that as "level = 0" plus comments that turn out to be code that triggers backracking.
When the expressions (particularly the true case) are longer, it gets even worse.
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 "absolute_import" in self.futures else -1)
Contrast with the bleeding obvious:
level = 0 if "absolute_import" in self.futures: level = -1
or even, if a certain obscurity is desirable:
level = - ("absolute_import" in self.futures)