Простой вопрос.Во-первых, я заметил в Python, что могу сделать вещи более краткими, изменив короткие выражения, например:
if some_condition:
do_something()
На это:
if some_condition: do_something()
Это изменение, конечно,работает только в том случае, если код внутри оператора if состоит только из одной строки.
Однако, если имеется более одной вложенной «конструкции» (я имею в виду такие вещи, как if-else, for, while илипопробуй-исключение) тогда получаю синтаксическую ошибку.Например, я не могу изменить это:
if some_condition:
if other_condition:
do_something()
На это:
if some_condition: if other_condition: do_something()
Или даже это:
if some_condition: if other_condition:
do_something()
Но это работает:
if some_condition:
if other_condition: do_something()
Я предполагаю, что причина этого в том, что наличие двух конструкций в одной строке создает некоторую двусмысленность.Я хотел бы знать, есть ли какой-нибудь способ, которым я все еще могу поместить два утверждения в строку, но это работает.Например, может быть что-то похожее на это:
if some_condition: (if other_condition: do_something())
Это, конечно, не работает.Однако, надеюсь, это делает немного более ясным, что именно я пытаюсь сделать здесь.Будут оценены любые идеи, кроме «Вы не должны этого делать».
Прежде чем я получу приток всех вас, пуристов, которые приходят и проповедуют, как это не пифонично или что-то еще, ДА, я знаючто это не лучший способ написания кода на Python.Считайте это вопросом исследования.Я просто хочу знать, возможно ли то, что я ищу.