Итак, во-первых, я пометил python 2.7, потому что синтаксис может отличаться в 3.5.
Раньше я занимался C# до Python и обнаружил, что могу использовать тернарные операторы друг внутри друга.
Мне любопытно, возможно ли это и в python, поскольку они не в том же порядке.
С#
condition ? output_true : output_false
питон
output_true if condition else output_false
Другой способ задать мой вопрос:
Как я мог сделать тернарный оператор, который достигает того же, что и
if a:
x = "a"
elif b:
x = "b"
else c:
x = "c"
Непонятно, что вы хотите сделать, если a
, b
и c
равны False
. Но, конечно, мы можем вкладывать тернарные операторы:
x = "a" if a else ("b" if b else ("c" if c else None))
... Но не рекомендуется использовать тернарный оператор, если у вас более одного условия, его будет трудно читать; придерживайтесь if/elif/else для этих случаев.
Мои извинения за плохой пример кода, я случайно отправил черновик. Но это прекрасно отвечает на мой вопрос. Но следует отметить, что я буду использовать их только в том случае, если это облегчит чтение кода. В большинстве случаев не будет, но иногда может. Спасибо!