Управление потоками в Python

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

Данные выражения по управлению потоком данных непосредственно соответствуют символам в алгоритме. Рисунок 1 демонстрирует алгоритм на тот случай, если идет дождь. Движемся по направлению стрелок от начала до конца.

управление потоками в Python

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

Но прежде, чем что-либо узнавать о выражениях по управлению потоками, для начала нужно научится тому, как представить варианты “да” и “нет”. Более того, Вам необходимо знать, как обозначить различные разветвления используя Python код.
Таким образом, давайте рассмотрим логические значения, операторы сравнения и логические операторы.

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

В то время, как целое число, плавающая точка и строка данных имеют неограниченное число возможных значений, тип логичных данных имеет только два значения: “истина” и “ложь”. Используя код Python, логические значения истина и ложь печатаются без кавычек с обеих сторон строки, и они всегда начинаются с большой буквы T(true-истина) или F(false-ложь), оставшаяся часть слова идет в нижнем регистре. Введите следующую информацию в интерактивную оболочку. (Некоторые из указанных инструкций заведомо неверны, и из-за них будут высвечиваться сообщения об ошибках.)

(Это браузерная интерактивная оболочка работающая от Trinket. Либо вводите инструкции в интерактивную оболочку IDLE или используйте данную интерактивную оболочку.)

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

Операторы сравнения

Операторы сравнения сравнивают два значения и оценивают вплоть до одного логического значения. В таблице 1 перечислены операторы сравнения.

Таблица 1. Операторы сравнения

Оператор  Значение
==                Равно
!=                Не равно
<              Меньше чем
> Больше чем
<= Меньше или равно
>= Больше или равно

Эти операторы возвращают True или False в зависимости от заданных значений. Давайте попробуем поработать с некоторыми операторами прямо сейчас, начиная с == и !=.

Как и следовало ожидать, == (равно) принимает значение True, когда значения с обеих сторон одинаковы, и != (не равно) принимает значение True, когда эти два значения различны. == и != операторы могут реально работать со значениями любого типа данных.

Обратите внимание, что целое число или значение с плавающей точкой всегда будет неравным значению строки. Выражение 42 == ’42’ вычисляет значение False, так как Python считает целое число 42 будет отличаться от строки ’42’.

<,>, <= И> = операторы, с другой стороны, работают должным образом только с целыми числами и с плавающей запятой.

Различие между == и =

Вы могли заметить, что оператор == (равно) имеет два знака равенства, в то время как оператор = (присваивания) имеет только один знак равенства. Конечно, их легко перепутать. Помните:

Оператор == (равно) спрашивает, совпадают ли оба значения друг с другом.
Оператор = (присвоение) помещает значение справа, а переменную слева.

Для того, чтобы запомнить, какой из них является чем, обратите внимание, что оператор == (равно) состоит из двух символов, так же, как оператор != (не равно) состоит из двух символов.

Вы часто будете использовать операторы сравнения для сравнения значений переменной к некоторому другому значению, как в eggCount <= 42 и myAge > = 10 примеров. (В конце концов, вместо того, чтобы печатать ‘собака’! = ‘Кошка’ в вашем коде, вы могли бы лишь ввести True.) Вы увидите больше подобных примеров, когда вы узнаете об операторах управления потоками.

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

Три логических оператора (and-и, or-или, not-нет) используются для сравнения логических значений. Как операторы сравнения, они оценивают данные выражения по логическому значению. Давайте рассмотрим данные операторы подробно, начиная с оператора and.

Бинарные логические операторы

And и or операторы всегда имеют два логических значения (или выражения), поэтому они считаются бинарными операторами. И оператор вычисляет выражение истинно(True), если оба логических значения верны (True); в противном случае, значение воспринимается как неверно (False). Попробуйте ввести некоторые выражения в интерактивной оболочке, чтобы увидеть его в действии.

Таблица истинности показывает каждый возможный результат булевого оператора.

Таблица истинности оператора and

True and True     True
True and False    False
False and True    False
False and False   False

С другой стороны, оператор or возвращает True, в том случае если одно из двух логических значений истина (True). Если оба неверны (False), то он принимает значение неверно (False).

Таблица истинности оператора or

True or True     True
True or False    True
False or True    True
False and False   False

Оператор not

В отличие от и и или, оператор нет работает только по одному логическому значению (или выражению).

Так же, мы использует двойные негативы в устной и письменной речи, так и, вы можете использовать операторы нет (not). Таблица 2-4 показывает таблицу истинности для нет.

Таблица истинности для not.

not True           False
not False          True

Смешивание логических операторов и операторов сравнения

Вы можете использовать операторы сравнения в выражениях с логическими операторами.

Напомним, что and, or, not – называются логическими операторами, потому что они всегда работают на логических значениях True и False.Такие выражения, как 4 < 5 не являются логическими значениями, они являются выражениями, оцениваемыми до логических значений.

Поделитесь с друзьями:

Оставьте комментарий