Pamiętaj, ta rada z Zen Pythona "Liczy czytelności"
Operator trójskładnikowy jest najbardziej czytelny, gdy wszystko znajduje się w jednym wierszu.
x = y if z else w
Gdy warunki lub zmienne naciskać linię minionych 79 znaków (patrz PEP8), czytelność zaczyna cierpieć. (Czytelność jest również powodem, dla którego najlepszym rozwiązaniem jest dict/list).
Zamiast więc próbować przerwać linię za pomocą nawiasów, może się okazać, że jest ona bardziej czytelna, jeśli przekształcisz ją w zwykły blok if
.
if does_not_haggle(brian):
answer = 'Ten for that? You must be mad!'
else:
answer = "It's worth ten if it's worth a shekel."
BONUS: Powyższy refaktoring ujawnia inny problem czytelności: does_not_haggle
jest odwrócony logiczny. Byłoby to jeszcze bardziej czytelne, jeśli można przepisać funkcję:
if haggles(brian):
answer = "It's worth ten if it's worth a shekel."
else:
answer = 'Ten for that? You must be mad!'
Umieścić w nawiasach. –