Перейти к содержанию
Educora
Начальный15 мин2 / 42

Переменные, типы данных и арифметика

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

Проверь себя
В этом уроке ты узнаешь
  • Создавать переменную и обновлять её значение
  • Различать типы int, float, str и bool
  • Использовать арифметические операции, включая целочисленное деление и остаток
  • Преобразовывать значения с помощью int(), float() и str()

Ты набираешь очки в игре: сначала 0, потом 10, потом 25. Программа должна где-то запомнить это число и каждый раз обновлять его. Для этого нужны переменные. Представь переменную как коробку с наклейкой: кладёшь внутрь значение, а потом находишь его по имени, чтобы посмотреть или изменить.

Переменные

Определение
Переменная

Имя, которое дают значению, хранящемуся в памяти. Переменная создаётся знаком =: слева пишут имя, справа — значение.

Python
name = 'Murad'
age = 14
height = 1.62
print(name, age, height)

age = age + 1
print('Next year:', age)
▸ Ожидаемый результат
Murad 14 1.62
Next year: 15

Обрати внимание: в программировании = — это не равенство из математики, а присваивание. Строка age = age + 1 читается так: «возьми старое значение age, прибавь 1 и запиши результат обратно в age». Значение переменной может меняться в любой момент — отсюда и её название.

  • Имя может состоять из букв, цифр и знака подчёркивания (_), но не может начинаться с цифры: score2 — можно, 2score — нельзя.
  • Пробелы в имени недопустимы. Слова соединяют подчёркиванием: first_name, total_price.
  • Регистр важен: age и Age — две разные переменные.
  • Нельзя использовать служебные слова Python (if, for, class, True и другие) в качестве имён.
  • Выбирай осмысленные имена: price говорит гораздо больше, чем x.

Основные типы данных

У каждого значения есть тип, и он определяет, что с этим значением можно делать: числа можно складывать, строки — соединять. Python определяет тип сам, указывать его не нужно.

ТипЧто этоПримеры
intцелое число14, -3, 2026
floatвещественное (дробное) число1.62, 3.14, -0.5
strстрока (текст)'Baku', '42'
boolлогическое значениеTrue, False

Тип значения можно проверить функцией type().

Python
print(type(14))
print(type(1.62))
print(type('Baku'))
print(type(True))
print(type('42'))
▸ Ожидаемый результат
<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>
<class 'str'>

Посмотри на последнюю строку: '42' в кавычках, поэтому это строка, а не число. А True и False — это ответы «да» и «нет»; они очень пригодятся в уроке об условиях.

Арифметические операции

ОперацияДействиеПримерРезультат
+сложение7 + 29
-вычитание7 - 25
*умножение7 * 214
/деление7 / 23.5
//целочисленное деление7 // 23
%остаток от деления7 % 21
**возведение в степень7 ** 249

Лейла покупает 3 тетради по 2,5 маната. Поручим расчёт Python и заодно проверим другие операции.

Python
price = 2.5
count = 3
total = price * count
print('Total:', total)

print(17 // 5, 17 % 5)
print(2 ** 10)
print(2 + 3 * 4, (2 + 3) * 4)
▸ Ожидаемый результат
Total: 7.5
3 2
1024
14 20

Python соблюдает порядок действий, как в математике: сначала возведение в степень, затем *, /, //, % и в конце + и -. Чтобы изменить порядок, используй скобки: 2 + 3 * 4 даёт 14, а (2 + 3) * 4 — 20.

Пример: минуты в часы

Фильм длится 135 минут. Сколько это часов и минут?

Показать решение
Целые часы находим через //: 135 // 60 = 2.
Оставшиеся минуты — через %: 135 % 60 = 15.
Ответ: 2 часа 15 минут.
Python
minutes = 135
hours = minutes // 60
rest = minutes % 60
print(hours, 'h', rest, 'min')
▸ Ожидаемый результат
2 h 15 min

Обновлять переменную на основе её же значения приходится так часто, что в Python есть краткая запись: score += 10 означает то же, что score = score + 10. Так же работают -=, *= и /=.

Python
score = 0
score += 10
score += 5
score -= 3
score *= 2
print('Score:', score)
▸ Ожидаемый результат
Score: 24

Преобразование типов

Число и строку нельзя сложить напрямую: если написать '5' + 5, Python выдаст ошибку TypeError, потому что не знает, как соединить текст и число. В таких случаях значение нужно преобразовать в нужный тип: int() делает из него целое число, float() — дробное, а str() — строку.

Python
text = '25'
number = int(text)
print(number + 5)
print(text + '5')
print(float('3.5') * 2)
print('Age: ' + str(14))
print(int(7.9))
▸ Ожидаемый результат
30
255
7.0
Age: 14
7

text + '5' склеивает две строки, поэтому получается 255 — не число двести пятьдесят пять, а текст из символов 2, 5 и 5.

Задание

Комната имеет форму прямоугольника: width = 7, height = 4 (в метрах). Запиши площадь в переменную area, а периметр — в perimeter, затем выведи две строки: Area: с площадью и Perimeter: с периметром.

Задание · Python
width = 7
height = 4
# area = ...
# perimeter = ...
# print Area: and Perimeter:
▸ Ожидаемый результат
Area: 28
Perimeter: 22
Задание

47 конфет делят поровну между 6 детьми. Числа даны в виде строк ('47' и '6'). Преобразуй их в числа с помощью int(), затем выведи две строки: Each child: и сколько конфет получит каждый ребёнок, Left over: и сколько конфет останется.

Задание · Python
candies_text = '47'
children_text = '6'
# 1) convert both strings to int
# 2) print Each child: and the share (use //)
# 3) print Left over: and the rest (use %)
▸ Ожидаемый результат
Each child: 7
Left over: 5

Главное

  • Переменная — это имя для значения; она создаётся с помощью = (присваивания).
  • Основные типы: int, float, str, bool; тип значения показывает type().
  • / всегда даёт float; // — целую часть от деления, % — остаток.
  • x += 1 — краткая запись x = x + 1.
  • int(), float() и str() преобразуют значение в другой тип; int() отбрасывает дробную часть.

Проверь себя

Вопросов: 10. Каждый правильный ответ приносит XP.

1 / 10
Написано x = 5, а затем x = x + 2. Что выведет print(x)?