Инструкция Python для короткого слова "if-else"

Есть ли версия Python следующего оператора if else в C ++ или аналогичного оператора вроде этого:

  int t = 0; int m = t==0?100:5; 

4 Solutions collect form web for “Инструкция Python для короткого слова "if-else"”

 m = 100 if t == 0 else 5 # Requires Python version >= 2.5 m = (5, 100)[t == 0] # Or [5, 7][t == 0] 

Обе эти строки приведут к тому же.

В первой строке используется версия Python « тройного оператора », доступная с версии 2.5, хотя документация Python относится к ней как к Conditional Expressions .

Вторая строка – немного взломать, чтобы обеспечить встроенную функциональность во многих (всех важных) путях, эквивалентных ?: Найдена на многих других языках (таких как C и C ++ ).


Документация Python – 5.11. Условные выражения

Конструкция, на которую вы ссылаетесь, называется тернарным оператором . У Python есть версия (начиная с версии 2.5), например:

 x if a > b else y 
 t = 0 if t == 0: m = 100 else: m = 5 

Красиво лучше, чем уродливое.
Явный лучше, чем неявный.
Простой лучше, чем сложный.

От PEP 20 .

Или, если вы действительно, действительно должен (работает в Python> = 2.5):

 t = 0 m = 100 if t == 0 else 5 

Есть также:

 m = t==0 and 100 or 5 

Поскольку 0 – значение фальшивости, мы могли бы написать:

 m = t and 5 or 100 

Это эквивалентно первому.

  • Если аргументы vs. else if vs. else?
  • Условная настройка переменной Python
  • Оператор if-else if не работает должным образом
  • Python, если со многими или в контрактной форме
  • Разница между несколькими If и Elif's Python
  • Поиск четных чисел в Python
  • шаблон django if или statement
  • Python if Statement Invalid Syntax !? Зачем?
  • Python - лучший язык программирования в мире.