Don't learn to code. Code to learn!

Условные конструкции в Python

Hits: 137513

Условные конструкции в Python существуют для того, чтобы разработчик мог задавать определенное поведение программы в зависимости от заданных ей условий. Для использования таких конструкций программисту необходимо определить хотя бы одно условие, вместе с кодом, который будет выполнятся, если это условие истинно. Так же, при необходимости, возможно написать код, который будет выполнятся, если условие определенно как ложное.

Условные конструкции, это типичная структура для реализации механизма принятия решений, и они существуют в подавляющем большинстве языков программирования.

В Python предполагается, что любое ненулевое и непустое значение равняется истине (True), в то время, как ноль или пустой объект равняется лжи (False).

В Python существуют следующие условные конструкции:

  • if
  • if / elif / else
  • вложенные if конструкции.

Условная конструкция if в Python:

Команда if в Python работает по той же схеме, что и в других языках программирования. Она содержит в себе логическое условие, и если это условие истинно (равно True) - выполнится блок кода, записанный внутри команды if. Если же логическое условие ложно (равно False), то блок кода записанный внутри команды if пропускается, а выполнение кода переходит на следующую после блока if строчку кода.

Например:

# Происходит сравнение переменной num с нулем
if num > 0:
    print "Число больше нуля" # Если переменная больше нуля, то печатается строка
print "Строка после блока if" # Данная строка печатается в любом случае, поскольку она находится вне блока if

Конструкция if...else в Python:

В конструкцию if может быть добавлена команда else. Она содержит блок кода, который выполняется, если условие в команде if ложно.

Команда else является опциональной, в каждой if - конструкции может быть только одна команда else.

Например:

if num > 0:
    print "Число больше нуля" # если переменная num больше нуля то выполняется этот блок кода
else:
    print "Число меньше или равно нулю" # иначе выполнится этот блок кода 

Команда elif в Python:

Команда elif позволяет проверить истинность нескольких выражений и в зависимости от результата проверки, выполнить нужный блок кода.

Как и команда else, команда elif являктся опциональной, однако, в отличие от команды else, у одной if-конструкции может существовать произвольное количество команд elif.

Например:

# Производится последовательное сравнение переменной num.
# Если num больше ста выполняется код в строке 4 и выполнение переходит на строку 13, иначе выполняется проверка в строке 6
if num > 100:
    print "Число больше ста"
# Если num больше пятидесяти - выполняется код в строке 7 и выполнение переходит на строку 13, иначе выполняется проверка в строке 8 и т.д.
elif num > 50:
    print "Число больше пятидесяти"
elif num > 25:
    print "Число больше двадцати пяти"
# Если результат всех проверок оказался ложным выполняется блок в строке 11, после чего переходим на строку 13
else:
    print "Число меньше двадцати пяти"
print "Финальная строка"

Базовый Python не поддерживает конструкцию switch/case, как, например, JavaScript, но ее возможно реализовать при помощи if...elif...else конструкции.

Вложенные условные конструкции в Python:

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

Например:

if num > 100:
    if num < 150:
        print "Число больше ста, но меньше ста пятидесяти"
    elif num < 200:
        print "Число больше ста, но меньше двухсот"
elif num > 50:
    if num < 90:
        print "Число больше пятидесяти, но меньше девяноста"
    else:
        print "Число больше пятидесяти и больше девяноста"
else:
    print "Число меньше пятидесяти"

Логика выполнения вложенных условных конструкций та же, что и у обычных. Главное не запутаться с отступами и порядком выполнения сравнений.