2016-08-29 6 views
1

У меня есть рабочий условный оператор:троичной с помощью питона пройти ключевое слово

if True: 
    pass 
else: 
    continue 

, что я хотел бы, чтобы превратить его в тройном выражение:

pass if True else continue 

Однако, Python не позволяет это. Может ли кто-нибудь помочь?

Спасибо!

+1

Возможный дубликат [У Python есть тернарный условный оператор?] (Http://stackoverflow.com/questions/394809/does-python-have-a-ternary -conditional-operator) –

+1

Ваш пример не имеет никакого смысла. –

ответ

1

Точка 1: Являются ли ваши, что ваше состояние является правильным? Потому что if True всегда будет True, и код никогда не зайдет в else блок.

Пункт 2: pass и continue не являются выражения или значения, но действие вместо Вы не можете использовать это одна линия. Вместо этого, если вы используете, 3 if x else 4 < - он будет работать

+0

У меня есть boolean is_string вместо True. Так вот, если is_string-> pass, else-> continue –

1

Тернарное выражение используется для вычисления значений; ни pass, ни continue - это значения.

1

pass и continue являются операциями и не могут использоваться в тройном операторе, так как оператор ожидает выражения, а не утверждения. Выражения не оцениваются значениями в Python.

Тем не менее, вы можете сократить условие, которое вы принесли так:

if False: continue