Python: типы данных
Если «Python: типы данных» вызывает ступор — это нормально: тема собрана из простых идей. Покажем их по порядку: теория, пример, разбор задания и типичные ошибки.
Что такое типы данных в Python
Когда программа неожиданно выдаёт ошибку, причина часто не в сложной логике, а в том, что Python получил данные «не того вида». Число нельзя склеить со строкой, список нельзя сравнивать с отдельным символом, а логическое значение нельзя всегда использовать как обычный текст. Разобравшись с типами данных, ты начнёшь увереннее читать код, находить ошибки и создавать собственные программы.
Тип данных показывает, что хранится в переменной и какие действия разрешены. Например, в переменной может быть целое число, дробь, текст, ответ «да» или «нет», набор элементов. Python определяет тип автоматически в момент записи значения, поэтому заранее объявлять его не нужно.
\( age = 14 \)
name = "Маша"
\( is_ready = True \)
print(type(age)) → <class 'int'>
Функция type() помогает проверить тип. Такая проверка особенно полезна перед вычислениями и вводом данных. Если хочешь закрепить базовые конструкции в спокойном темпе, попробуй бесплатную практику в личном кабинете.
Числа: int и float
Для чисел Python использует несколько типов. int хранит целые значения: 0, 7, −12. float хранит числа с дробной частью: 3.14 или −0.5. В Python дробная часть записывается через точку, а не через запятую. Знак умножения в выражении обозначается символом *, деление — /.
\( a = 7 \)
\( b = 2 \)
\( a + b \to 9 \)
\( \dfrac{a}{b} \to 3.5 \)
\( a // b \to 3 \)
a % b → 1
a ** b → 49
Оператор // даёт целую часть частного, а % — остаток. Это удобно, когда нужно определить последнюю цифру числа или разложить количество предметов по группам. Возведение в степень записывается двумя звёздочками: 7² можно представить как 7 ** 2.
При смешивании int и float результат обычно становится float. Преобразовать значение можно функциями int() и float(), но дробная часть при переводе в целое отбрасывается, а не округляется.
Перед вычислением проверь, что ввёл пользователь: input() всегда возвращает строку. Для числа используй int(input()) или float(input()), если ожидается дробь.
Строки и логические значения
Строка, или str, — это последовательность символов в кавычках. В ней могут быть буквы, цифры, пробелы и знаки препинания. Число 25 и строка "25" выглядят похоже, но для Python это разные данные. Строки можно объединять оператором + и повторять оператором *.
first = "Анна"
last = "Петрова"
full = first + " " + last
print("Hi! " * 2) → Hi! Hi!
Полезные операции: len(text) возвращает длину строки, text[0] берёт первый символ, а text.lower() переводит буквы в нижний регистр. Индексация начинается с нуля, поэтому в слове "код" символ с индексом 0 — «к».
Тип bool имеет только два значения: True и False. Они появляются после сравнений: 5 > 3, 8 == 8, 4 != 7. Для объединения условий применяют and, or, not. Логические значения управляют ветвлениями if и циклами.
Списки, кортежи и словари
Список list хранит несколько элементов в заданном порядке. Его можно изменять: добавлять значения, удалять их и заменять элементы. Кортеж tuple похож на список, но после создания его элементы менять нельзя. Это удобно для данных, которые должны оставаться постоянными.
\( marks = [5, 4, 5] \)
marks.append(3)
\( point = (10, 20) \)
student = {"name": "Олег", "grade": 8}
В словаре dict информация хранится парами «ключ: значение». По ключу можно быстро получить нужные данные: student["name"]. Список обращается к элементу по индексу, а словарь — по ключу. Внутри коллекций могут находиться значения разных типов, хотя на практике лучше сохранять понятную структуру.
| Тип | Пример | Особенность |
|---|---|---|
| list | [1, 2, 3] | изменяемый порядок элементов |
| tuple | (1, 2, 3) | неизменяемая последовательность |
| dict | {"x": 10} | доступ по ключу |
Понимание коллекций пригодится и в учебных задачах, и в проектах: например, для хранения оценок, товаров или результатов теста.
Преобразование типов и типичные ошибки
Данные часто нужно преобразовывать. Функция str() превращает значение в строку, int() — в целое число, float() — в дробное, bool() — в логическое значение. Но преобразование сработает не всегда. Например, int("abc") вызовет ошибку, потому что текст не изображает число.
age = input("Возраст: ")
\( age = int(age) \)
\( next_age = age + 1 \)
print("Через год:", next_age)
Частая ошибка — попытка сложить строку и число: "Возраст: " + 14. Исправить её можно через str(14) или удобную f-строку: f"Возраст: {age}". Ещё одна ловушка — сравнение == и присваивание =: первое проверяет равенство, второе записывает значение.
Пустая строка, ноль и пустой список считаются ложными в условии, хотя их типы различаются. Проверяй не только значение, но и type(), если результат кажется странным.
Для безопасной проверки типа можно использовать isinstance(value, int). Помни: bool связан с числами в Python, поэтому в сложных проверках лучше явно указывать ожидаемый тип.
Что запомнить
Тип данных определяет, какие значения хранит переменная и какие операции с ней допустимы. int — целые числа, float — дробные, str — текст, bool — True или False. Списки изменяются, кортежи сохраняют элементы, словари связывают ключи со значениями.
Перед вычислением данных из input() выполняй нужное преобразование. Для диагностики используй type() и isinstance(), а при сравнении не путай == с =. Один полностью разобранный пример полезнее механического чтения правил: попробуй изменить его и предсказать вывод каждой строки.
Следующий шаг — зарегистрируйся и реши 5 заданий бесплатно в личном кабинете. Там ты проверишь типы на практике и увидишь, где именно появляется ошибка. Если готовишься к экзамену, дополнительные задачи можно подобрать в разделах ОГЭ и ЕГЭ.
Что такое тип данных?
Тип данных описывает вид значения: число, текст, логическое значение или коллекцию. От типа зависят доступные операции и способ хранения информации.
Чем отличаются int и float?
int хранит целые числа, например 8, а float — числа с дробной частью, например 8.5. Результат обычного деления в Python имеет тип float.
Как закрепить тему после разбора?
Напиши несколько коротких программ: преобразуй ввод в число, сравни два значения, добавь элемент в список и получи значение из словаря. Затем проверь типы с помощью type().
Почему input() часто вызывает ошибку в вычислениях?
Функция input() возвращает строку, даже если пользователь ввёл цифры. Перед арифметикой преобразуй результат через int() или float().
Закрепить тему на практике
Теория без практики забывается за неделю. В личном кабинете Просто Урок — задания именно по этой теме с проверкой каждого шага. Регистрация бесплатная.