Видеокурс выложен на сайте Altube.ru вместо Youtube и плеер Altube не поддерживает субтитры. Прошу решить вопрос о предоставлении русских субтитров в этом англоязычном видеокурсе. |
Условное выполнение
По ссылке youtube выложено видео с русскими титрами.
5.1. Логические выражения
Логическими (boolean expression) называются выражения, которые могут принимать одно из двух значений – истина или ложь. В следующем примере используется оператор ==, который сравнивает два операнда и возвращает True, если они равны (equal) или в противном случае False:
>>> 5 == 5 True >>> 5 == 6 False
True и False – специальные значения, которые принадлежат к типу bool, они не являются строками:
>>> type(True) type 'bool' >>> type(False) type 'bool' >>>
Оператор == является одним из операторов сравнения (comparison operators), другие операторы сравнения:
x != y # x не равны y x > y # x больше y x < y # x меньше y x >= y # x больше или равно y x <= y # x меньше или равно y x is y # x такой же, как y x is not y # x не такой же, как y
Все эти операции, возможно, вам знакомы, но в Python их смысл несколько отличается от принятого в математике. Распространенная ошибка заключается в использовании одиночного символа =, вместо двойного ==. Запомните, что = является оператором присваивания, а == является оператором сравнения. В Python нет подобного =< или =>.
5.2. Логические операторы
Существуют три логических оператора (logical operators): and, or и not. Смысл этих операторов схож с их смыслом в английском языке:
x > 0 and x < 10
это истинно в случае, если x больше 0 и меньше 10.
n%2 == 0 or n%3 == 0
это истинно, если одно из выражений является истинным.
В заключение, оператор not отрицает логическое выражение, так
not (x > y)
истинно, если x > y является ложью, т.е. x меньше или равно y.
Строго говоря, операнды логических операторов должны быть логическими выражениями, но Python не очень требователен к этому. Любое ненулевое число интерпретируется им как "истинное".
>>> 17 and True True
5.3. Условное исполнение
Для того чтобы писать полезные программы, почти всегда необходимо проверять условия и изменять поведение программы. Условные инструкции (conditional statements) предоставляют нам такую возможность. Простейшей формой является инструкция if:
if x > 0 : print 'x is positive'
Логическое выражение после инструкции if называется условием (condition). Далее следует символ двоеточия (:) и строка (строки) с отступом.
Если логическое условие истинно, тогда управление получает выражение, записанное с отступами, иначе – выражение пропускается.
Инструкция if имеет схожую структуру с определением функции или цикла for. Инструкция содержит строку заголовка, которая заканчивается символом двоеточия (:), за которым следует блок с отступом. Подобные инструкции называются составными (compound statements), т.к. содержат больше одной строки.
Не существует ограничения на число инструкций, которые могут встречаться в теле if, но хотя бы одна инструкция там должна быть. Иногда полезно иметь тело if без инструкций (обычно оставляют место для кода, который еще не написан). В этом случае можно воспользоваться инструкцией pass, которая ничего не делает.
if x < 0 : pass # необходимо обработать отрицательные значения!
Если вы вводите инструкцию if в интерпретаторе Python, то приглашение сменится с трех угловых скобок на три точки (в версии 2.7 наблюдается отступ вместо точек), которые сигнализируют о том, что вы находитесь в блоке инструкций:
>>> x = 3 >>> if x < 10: print 'Small' Small >>>