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

Учимся хранить данные в переменных и разбираемся, какие бывают типы данных в Python.

Переменная — это «ящик» с именем, в котором программа хранит значение, чтобы потом им воспользоваться.

Зачем нужны переменные

Пока наши программы выводили готовые значения. Но настоящие программы работают с данными, которые меняются: имя пользователя, счёт в игре, результат вычисления. Эти данные надо где-то хранить — для этого и придуманы переменные.

Представь подписанные коробки. На одной написано vozrast, и внутри лежит число 14. На другой — imya, и внутри текст «Аня». Когда программе понадобится возраст, она просто заглянет в коробку vozrast. Имя коробки придумываешь ты, а что в неё положить — решает программа.

Как создать переменную

Чтобы создать переменную, пишут её имя, знак = и значение. Знак = здесь — это не «равно» из математики, а команда «положи в коробку». Читается как «присвоить».

vozrast = 14
imya = "Аня"

print(imya)
print(vozrast)
print("Через год будет", vozrast + 1)

Вывод:

Аня
14
Через год будет 15

Мы положили в vozrast число 14, а в imya — текст. Дальше пользуемся ими по имени. Заметь: vozrast + 1 не изменил саму переменную — он просто посчитал значение на основе её содержимого.

Переменные можно менять

Слово «переменная» не зря — её значение можно перезаписать. Новое значение вытесняет старое, как будто ты вынул из коробки одно и положил другое.

schet = 0
print("Старт:", schet)

schet = schet + 10    # добавили 10 очков
print("После гола:", schet)

schet = schet + 5     # ещё 5 очков
print("Итого:", schet)

Вывод:

Старт: 0
После гола: 10
Итого: 15

Строка schet = schet + 10 сначала считает правую часть (0 + 10 = 10), а потом кладёт результат обратно в schet. Этот приём — «взять старое значение, изменить, сохранить» — встречается в программах постоянно.

Обмен значениями — классический трюк

Вот задачка, которая кажется простой, но ловит многих новичков: как поменять местами значения двух переменных? Пусть a = 1, b = 2, и надо сделать наоборот. Первая мысль — написать a = b, потом b = a. Но это не работает! После a = b обе переменные станут равны 2, и исходное значение a потеряется. Это как пытаться перелить воду из стакана в стакан без третьего стакана. Решение — завести временную переменную-«посредник»: сохранить в неё старое значение, а потом переставить. В Python, кстати, есть и красивый короткий способ — a, b = b, a, — но важно понимать, что происходит «под капотом». Этот пример показывает: с переменными надо обращаться аккуратно, ведь присваивание затирает старое значение безвозвратно.

Типы данных

В коробку-переменную можно положить разное, и Python различает типы данных. Для начала важны три:

ТипЧто хранитПример
intцелые числа14, -7, 0
floatдробные числа3.14, 36.6
strстроки (текст)"Аня", "привет"

Тип важен, потому что от него зависит, что можно делать со значением. Числа можно складывать и умножать, строки — соединять. А вот сложить число и текст напрямую нельзя — Python выдаст ошибку. Узнать тип помогает функция type.

Попробуй сам

Создадим переменные разных типов и попросим Python назвать тип каждой. Обрати внимание на дробные числа: разделитель — точка, а не запятая!

vozrast = 14          # целое число
rost = 1.65           # дробное число
imya = "Аня"          # строка

print("Возраст:", vozrast, "— тип", type(vozrast))
print("Рост:", rost, "— тип", type(rost))
print("Имя:", imya, "— тип", type(imya))

# Со строками тоже можно работать: соединять
privetstvie = "Привет, " + imya + "!"
print(privetstvie)

Вывод:

Возраст: 14 — тип <class 'int'>
Рост: 1.65 — тип <class 'float'>
Имя: Аня — тип <class 'str'>
Привет, Аня!

Поменяй значения и имя в переменных на свои. Попробуй соединить две строки знаком + — это называется «склеивание». А вот vozrast + imya вызовет ошибку: нельзя складывать число и текст. Попробуй и убедись сам — ошибки тоже учат.

Правила имён переменных

  • Имя пишут латинскими буквами, можно с цифрами и знаком подчёркивания: schet, moy_vozrast, x2.
  • Имя не может начинаться с цифры: 2x — нельзя, x2 — можно.
  • В имени нет пробелов; слова разделяют подчёркиванием.
  • Имя должно быть понятным: vozrast лучше, чем v.

Переменные в действии: накопитель

Чтобы почувствовать, зачем переменные нужны по-настоящему, посмотрим на маленькую программу-«копилку». Она имитирует игру: за раунд начисляются очки, и переменная хранит их сумму. Без переменной это было бы невозможно — её значение «помнит» результат между действиями.

ochki = 0                # копилка, пока пусто
print("Начало игры, очков:", ochki)

ochki = ochki + 10       # собрал монетку
print("Нашёл монетку! Очков:", ochki)

ochki = ochki + 50       # победил врага
print("Победил врага! Очков:", ochki)

ochki = ochki - 20       # попал в ловушку
print("Ловушка! Очков:", ochki)

print("Итоговый счёт:", ochki)

Вывод:

Начало игры, очков: 0
Нашёл монетку! Очков: 10
Победил врага! Очков: 60
Ловушка! Очков: 40
Итоговый счёт: 40

Видишь, как переменная ochki «живёт» на протяжении всей программы и помнит накопленное? Каждая строка берёт прежнее значение, меняет его и сохраняет обратно. Поменяй числа или добавь свои события (например, бонус +100) — счёт пересчитается. Этот приём «копилки» лежит в основе игровых очков, корзины в интернет-магазине и счётчика лайков. Маленькая переменная — а сколько всего на ней держится!

Частые ошибки

  • Использовать запятую в дробных числах. В Python разделитель — точка: 3.14, а не 3,14.
  • Складывать число и строку. 14 + "лет" — ошибка; типы должны совпадать.
  • Путать = и сравнение. Одно = — это присваивание (положить в коробку), а не проверка равенства.

Запомни

  • Переменная — именованный «ящик» для хранения значения; создают через имя = значение.
  • Знак = означает «присвоить», а не «равно».
  • Основные типы: int (целые), float (дробные), str (текст).
  • Дробные числа пишут через точку; узнать тип помогает type.
Проверьте себя
1. Что означает знак = в строке x = 5?
AПроверку, равен ли x пяти
BКоманду положить значение 5 в переменную x
CСложение
DВывод на экран
2. Какой тип данных у значения 3.14?
Aint
Bfloat
Cstr
Dbool
3. Что выведет код: x = 5; x = x + 3; print(x)?
A5
B3
C8
D53
4. Какое имя переменной правильное?
A2vozrast
Bmoy vozrast
Cmoy_vozrast
Dмоя_переменная
Поддержать проект