MyTetra Share
Делитесь знаниями!
Инструкция if-elif-else, проверка истинности, трехместное выражение if/else
08.08.2018
23:45
Раздел: Python


Инструкция if-elif-else, проверка истинности, трехместное выражение if/else

Условная инструкция if-elif-else (её ещё иногда называют оператором ветвления) - основной инструмент выбора в Python. Проще говоря, она выбирает, какое действие следует выполнить, в зависимости от значения переменных в момент проверки условия.

Синтаксис инструкции if

Сначала записывается часть if с условным выражением, далее могут следовать одна или более необязательных частей elif, и, наконец, необязательная часть else. Общая форма записи условной инструкции if выглядит следующим образом:

if test1:

state1

elif test2:

state2

else:

state3


Простой пример (напечатает 'true', так как 1 - истина):

>>> if 1:

... print('true')

... else:

... print('false')

...

true


Чуть более сложный пример (его результат будет зависеть от того, что ввёл пользователь):

a = int(input())

if a < -5:

print('Low')

elif -5 <= a <= 5:

print('Mid')

else:

print('High')


Конструкция с несколькими elif может также служить отличной заменой конструкции switch - case в других языках программирования.

Проверка истинности в Python

  • Любое число, не равное 0, или непустой объект - истина.
  • Числа, равные 0, пустые объекты и значение None - ложь
  • Операции сравнения применяются к структурам данных рекурсивно
  • Операции сравнения возвращают True или False
  • Логические операторы and и or возвращают истинный или ложный объект-операнд

Логические операторы:

X and Y


Истина, если оба значения X и Y истинны.

X or Y


Истина, если хотя бы одно из значений X или Y истинно.

not X


Истина, если X ложно.

Трехместное выражение if/else

Следующая инструкция:

if X:

A = Y

else:

A = Z


довольно короткая, но, тем не менее, занимает целых 4 строки. Специально для таких случаев и было придумано выражение if/else:

A = Y if X else Z


В данной инструкции интерпретатор выполнит выражение Y, если X истинно, в противном случае выполнится выражение Z.

>>>

>>> A = 't' if 'spam' else 'f'

>>> A

't'


Так же в этом разделе:
 
MyTetra Share v.0.52
Яндекс индекс цитирования