Инструкция 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 

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

  • Оцените несколько переменных в одном выражении «если»?
  • для цикла слишком долго для создания / экспорта вывода в Python
  • Добавьте 24 часа к отрицательной разнице во времени в python
  • if else loop на Python. Проверка имени класса с помощью Selenium
  • Разделить длинные условные выражения на строки
  • pythonic способ проверить, существует ли что-то?
  • pythonic способ переписать присваивание в выражении if
  • Поиск большинства голосов по -1s, 1s и 0s в списке - python
  • Множественные условия с операторами if / elif
  • Как написать inline if заявление для печати?
  • Лучшая альтернатива множеству заявлений IF? Таблица значений
  • Python - лучший язык программирования в мире.