Типы данных и переменные: работа с числами, строками, списками и словарями
В предыдущей статье мы установили Python и написали нашу первую программу, которая выводила текст на экран. Но программирование — это не просто вывод текста. Это обработка информации. Чтобы компьютер мог работать с информацией, ему нужно знать, что именно мы ему даем: число, текст, список покупок или что-то еще.
Сегодня мы разберем фундамент любого языка программирования: переменные и типы данных. Вы узнаете, как хранить информацию в памяти компьютера и как ею манипулировать.
Переменные: коробки с подписями
Представьте, что вы переезжаете. У вас есть куча вещей, и чтобы не запутаться, вы раскладываете их по коробкам. На каждой коробке вы пишете маркером название: «Книги», «Посуда», «Одежда».
В программировании переменная — это и есть такая коробка с подписью (именем), в которой лежит какое-то значение (данные).
!Визуальная метафора переменных как контейнеров для хранения данных
Создать переменную в Python очень просто. Для этого используется знак равенства =. В программировании это не знак равенства в математическом смысле, а оператор присваивания.
Здесь мы создали три переменные:
* В переменную name мы положили строку "Алексей".
* В переменную age — число 25.
* В переменную height — число 1.82.
Правила именования переменных
Имя переменной может быть почти любым, но есть правила:
Имя не может начинаться с цифры (1name — ошибка, name1 — можно).
Имя не может содержать пробелы (используйте нижнее подчеркивание: my_variable).
Нельзя использовать специальные символы (кроме _).
Python чувствителен к регистру: Age и age — это две разные переменные.Числа: целые и дробные
Компьютеры обожают числа. В Python есть два основных типа чисел, с которыми вы будете работать 90% времени.
Целые числа (Integer)
Тип данных int. Это числа без дробной части: 1, 10, -5, 1000000. Они используются для счета предметов, индексов, количества итераций.
Числа с плавающей точкой (Float)
Тип данных float. Это числа с дробной частью. Обратите внимание: в программировании для разделения целой и дробной части используется точка, а не запятая.
Математические операции
С числами можно выполнять арифметические действия. Большинство из них вам знакомы со школы.
* Сложение: +
* Вычитание: -
Умножение:
* Деление: / (результат всегда float, даже если делится нацело)
* Целочисленное деление: // (отбрасывает дробную часть)
* Остаток от деления: %
Возведение в степень: *
Разберем подробнее операцию взятия остатка, так как она часто вызывает вопросы у новичков, но крайне полезна (например, чтобы узнать, четное число или нет).
Математически операцию деления с остатком можно представить формулой:
Где — делимое (исходное число), — делитель, — неполное частное (результат целочисленного деления), а — остаток.
В Python операция a % b возвращает именно . Например, 10 % 3 вернет 1, потому что 10 вмещает три тройки (9), и 1 остается.
Строки (String)
Тип данных str. Строка — это последовательность символов, заключенная в кавычки. Python понимает и одинарные ', и двойные " кавычки. Главное — открывающая и закрывающая кавычки должны быть одинаковыми.
Что можно делать со строками?
Склеивать (Конкатенация): Используйте знак +.
Дублировать: Используйте знак *.
Форматировать (f-строки): Это самый современный и удобный способ вставлять значения переменных внутрь строки. Перед кавычкой ставится буква f, а переменные пишутся в фигурных скобках {}.
Списки (List)
Представьте, что вам нужно хранить имена всех учеников в классе. Создавать 30 переменных (student1, student2...) неудобно. Для этого существуют списки.
Список — это упорядоченная коллекция элементов. В Python списки создаются с помощью квадратных скобок [].
Индексация
Чтобы получить доступ к элементу списка, нужно знать его номер (индекс). Важно: нумерация в программировании начинается с нуля.
!Визуализация индексации массива, где первый элемент имеет индекс 0
Списки являются изменяемыми. Вы можете заменить любой элемент:
Словари (Dictionary)
Списки хороши, когда важен порядок. Но что, если нам нужно хранить данные, связанные по смыслу, как в телефонной книге? Имя — номер телефона. Для этого используются словари.
Словарь — это неупорядоченная коллекция пар «ключ — значение». Словари создаются с помощью фигурных скобок {}.
Здесь "name", "age" и "city" — это ключи, а "Дмитрий", 30 и "Москва" — значения.
Чтобы получить значение, мы обращаемся к ключу, как к индексу в списке, но используем имя ключа:
Динамическая типизация
Python — язык с динамической типизацией. Это значит, что вам не нужно заранее сообщать компьютеру, какой тип данных будет в переменной. Python сам определяет это в момент присваивания значения.
Более того, одна и та же переменная может менять свой тип в процессе работы программы (хотя делать это специально не рекомендуется, чтобы не запутаться).
Функция type() позволяет вам в любой момент узнать, какой тип данных хранится в переменной.
Преобразование типов
Иногда нам нужно превратить один тип данных в другой. Например, если мы получили от пользователя число в виде текста.
* int() — преобразует в целое число.
* float() — преобразует в дробное число.
* str() — преобразует в строку.
Мы рассмотрели основные кирпичики, из которых строятся программы. Числа позволяют считать, строки — общаться, списки — упорядочивать данные, а словари — структурировать их. В следующих статьях мы научимся управлять ходом программы, используя условия и циклы.