Есть ли лучшее решение для этого тройного состояния? - PullRequest
3 голосов
/ 02 августа 2011

Представьте себе следующее троичное состояние:

foreground = self.foreground if self.foreground else c4d.COLOR_TRANS

В этом случае мне нужно дважды позвонить self.foreground, чтобы проверить, является ли 1006 * True или нет. Есть ли способ, когда мне нужно позвонить только один раз?

Ответы [ 2 ]

7 голосов
/ 02 августа 2011

Эквивалентное выражение:

foreground = self.foreground or c4d.COLOR_TRANS
3 голосов
/ 02 августа 2011

Вы можете использовать логические операторы:

foreground = self.foreground or c4d.COLOR_TRANS
...