Как стать автором
Обновить

Интерпретация Python. Выполнение условного кода

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

Условные выражения реализуются с помощью так называемого if утверждения. Утверждение if позволяет определить строку кода или блок кода, который выполняется только при выполнении определенного условия.

Если это условие основано на значении переменной, которая подгружается из некоторого внешнего источника данных, ваш код может никогда не работать. Или он может иногда работать. Или он всегда может работать. Вы не узнаете наверняка. Вы определяете код, который будет запускаться только при выполнении этого условия. И поэтому каждый раз, когда этот код выполняется, вы не знаете, запустится он или нет. 

Утверждение if в Python читается почти так же, как и в английском языке. Вы вводите ключевое слово if и после определяете то, что мы называем “condition” (условие). Condition - это просто утверждение, которое оценивается как истинное (true) или ложное (false).

Если условие оценивается как true, то будет выполнен весь код, находящийся под if. Если условие оценивается как false, то код будет искать дополнительный (необязательный) элемент else. И если он его найдет, то запустит код, находящийся под ним.

Написать условное выражение довольно просто. Обычно это просто переменная, за которой следует if, за которым следует другая переменная. Если я скажу, что x >= y, то >= будет моим условием, знаком вопроса ? Выражение x >= y вернет либо истину, либо ложь, что, в свою очередь, проинформирует if и скажет ему, что делать. 

Есть ряд различных условных утверждений:

== -  двойной знак равенства, который задает вопрос: равны ли эти два значения? 

>, >= - знак больше, или больше или равно.

<,<= - знак меньше, или меньше или равно.

Вы также можете сказать «не равно» двумя разными способами: 

<> - знак меньше и больше.

!= -  восклицательный знак и равно.

Есть способ объединения утверждений if вместе, создания длинного списка операторов if. Вы можете объединить несколько утверждений if вместе с помощью так называемого elif, E-L-I-F, что означает yes, else if. Когда вы используете команду elif, вместо того, чтобы писать else, вы пишете elif, за которым следует другое условие. Это выглядит примерно так:

У нас здесь есть начальное if и ниже код, который он будет запускать, если условие истинно. Если это не так, он проверит следующее условие после elif и запустит код под ним, если оно истинно.

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

Итак, если ни одно из утверждений не равно true, тогда оператор else будет выполняться. Это может выглядеть как switch case, о котором вы слышали в других языках программирования (C или Java). В Python нет switch case. Вы должны использовать if, elif, чтобы реализовать эту функцию. 

Теперь давайте посмотрим на это в коде. 

Здесь я просто собираю значение от пользователя с помощью функции ввода. После я могу сказать, если направление равно n, то <...>. 

Это очень распространенная структура. Компьютер задаст вам вопрос в каком направлении вы хотите идти. И в зависимости от вашего ответа выведет разные print. Верный путь здесь только один и это North.

Запустим и проверим.

Если мы хотим обрабатывать все эти направления, то нам нужно стереть else и заменил его серией if, верно?

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

Но одна, возможно, не столь очевидная неэффективность здесь заключается в том, что каждый раз, когда этот код запускается, он будет проверять все эти if. Каждый if будет запускаться каждый раз. 

Нам не нужно проверять это еще три раза. Тут-то и пригодится elif. 

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

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

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.