Переменные, выражения и операторы
Знакомимся на примере Python с основными строительными блоками программ — переменными, типами данных, выражениями и операторами — и выясняем причины типичных ошибок в вычислениях.
Список тем (2 из 3)
Глава 1. Введение в информационные технологии
Глава 2. Основы программирования
Переменная — это имя, данное значению в памяти программы. В Python она создаётся оператором присваивания =: x = 5. Здесь = означает не равенство, а команду «свяжи значение справа с именем слева». Позже переменной можно присвоить другое значение: запись x = x + 1 увеличивает её значение на единицу.
У каждого значения есть тип: целое число (int), вещественное число (float), строка (str), логическое значение (bool); тип можно узнать функцией type(x). В Python тип определяется по значению (динамическая типизация), поэтому после x = 5 можно написать x = "abc". Имя начинается с буквы или нижнего подчёркивания и состоит только из букв, цифр и _; регистр важен (count и Count — разные имена). Функция input() всегда возвращает строку, поэтому число нужно преобразовать с помощью int() или float().
Выражение — запись из значений, переменных и операторов, которая вычисляется в одно значение: 2 * (x + 3). Арифметические операторы: +, -, *, / (деление; результат всегда float), // (целая часть) и % (остаток). Например, 7 / 2 равно 3.5, 7 // 2 равно 3, а 7 % 2 равно 1. Оператор остатка применяют очень часто: условие n % 2 == 0 проверяет, чётно ли число.
Операторы сравнения (==, !=, <, >, <=, >=) возвращают значение bool, а логические операторы and, or, not объединяют их. Действия выполняются по приоритету: сначала скобки, затем *, /, //, %, потом +, -, поэтому 2 + 3 * 4 равно 14, а (2 + 3) * 4 равно 20. Вещественные числа хранятся в компьютере в двоичной системе приближённо, поэтому результат 0.1 + 0.2 — не точно 0.3, а 0.30000000000000004; не сравнивайте вещественные числа через ==.
Главное
- Переменная — имя, данное значению; в Python она создаётся оператором
=и затем может быть связана с другим значением. - Основные типы:
int,float,str,bool;input()возвращает строку, преобразуйте её с помощьюint()илиfloat(). - Выражение вычисляется в одно значение с помощью операторов; результат
/всегдаfloat,//даёт целую часть,%— остаток. - Операторы сравнения возвращают
bool, аand,or,notобъединяют их. - Приоритет влияет на результат, для ясности используйте скобки; вещественные числа хранятся приближённо.
Практические задания
- Поменяйте местами значения переменных
aиbдвумя способами: записьюa, b = b, aи с помощью третьей переменной; сравните результаты. - Запросите у пользователя через
input()число секунд и разбейте его на часы, минуты и секунды с помощью операторов//и%; например, 3725 секунд = 1 час 2 минуты 5 секунд. - Предскажите значения следующих выражений до запуска программы, а затем проверьте их в Python:
2 + 3 * 4 % 5,17 // 5 + 17 % 5,not (5 > 3) or 2 == 2,0.1 + 0.2 == 0.3.
Вопросы для закрепления
Проверьте себя: сначала подумайте, потом откройте ответ.
1Чему равны выражения `7 // 2` и `7 % 2`?Показать ответСкрыть ответ
`3` и `1`: целая часть и остаток.2Чем отличаются операторы `=` и `==`?Показать ответСкрыть ответ
`=` присваивает значение имени, а `==` проверяет равенство двух значений и возвращает `bool`.3Почему выражение `0.1 + 0.2 == 0.3` даёт `False`?Показать ответСкрыть ответ
Числа 0.1 и 0.2 не представляются в двоичной системе точно, поэтому сумма получается приближённой (`0.30000000000000004`).
Войдите на сайт
Слайды и PDF доступны только зарегистрированным пользователям: и просмотр, и скачивание. Вход бесплатный.
Войдите на сайт
Слайды и PDF доступны только зарегистрированным пользователям: и просмотр, и скачивание. Вход бесплатный.
Пройдено тем: 0 из 3
Войти и отметить