Числа, строки, булевы значения и как их различать.
⏱️ ~45 мин·Начальный·📚 3 урока
Почему у данных есть «тип»
В реальной жизни мы по-разному обращаемся с разными вещами: числа складываем, текст читаем, а вопрос «да/нет» отвечаем галочкой. Python тоже различает виды данных — это и есть тип. От типа зависит, что со значением можно делать: числа можно умножать, строкиТекстовое значение в кавычках: "привет". Неизменяема. По-английски string (str). — склеивать, а складывать строку с числом напрямую нельзя.
Четыре главных типа
Тип
Название
Пример
int
целое число
42, -7
float
дробное число
3.14, -0.5
str
строка (текст)
"привет"
bool
логический (да/нет)
True, False
Подсказки для запоминания: int — от integer (целое), float — «плавающая точка», str — от string (нить из символов), bool — от Джорджа Буля, придумавшего логику да/нет.
Узнать тип любого значения можно функциейИменованный блок кода, который можно вызывать многократно. Может принимать аргументы и возвращать результат.type():
▶ types.py
💡Совет
Предскажите вывод. Какой тип у "42" (число в кавычках)? Запустите следующую ячейку и проверьте догадку.
▶ quotes-matter.py
42 — это int, а "42" — это str, потому что оно в кавычках. Выглядит одинаково, ведёт себя по-разному: 42 + 1 даст 43, а "42" + "1" даст строку "421" (склейка текста).
Преобразование типов
Иногда нужно превратить один тип в другой — например, строку "123" в число 123. Для этого есть функции с говорящими именами: int() делает целое, float() — дробное, str() — строку.
▶ convert.py
Разберём последнюю строку: str(price) превращает число 99 в текст "99", и тогда его уже можно склеить с другими строками через +. Без str() здесь была бы ошибка.
🚫Внимание
Складывать строку и число напрямую нельзя: "Цена: " + 99 вызовет TypeError: can only concatenate str ... to str. Python не угадывает, что вы имели в виду — нужно явно привести число к строке через str() (или собрать строку через запятые в print).
⚠️ Частые ошибки новичков
Ошибка. Забыть про str() при склейке. Запустите код — увидите TypeError. Почините его: оберните число price в str().
▶ broken-type.py
Вторая частая ошибка — пытаться превратить в число строку, в которой не число: int("привет") даст ValueError. int() умеет читать только цифры.
Заданиерешение.py
Дана строка n = "100". Превратите её в число, прибавьте 50 и сохраните результат в переменную result.
Заданиерешение.py
Дано число temp = 21. Соберите и выведите строку вида За окном 21 градус, склеив текст и число через str().
Заданиелёгкаярешение.py
Даны две строки-цены a = "199" и b = "50". Превратите обе в числа, сложите и сохраните сумму в переменную total (должно получиться число 249).
❓Проверь себя
Какой тип у значения 3.14?
Что выведет type("True")?
Что получится при выполнении "7" + "3"?
ℹ️Важно
✅ Что вы узнали
Четыре базовых типа: int, float, str, bool.
type(x) показывает тип значения.
Кавычки делают из числа строку: 42 ≠ "42".
Преобразование: int(), float(), str().
Строку и число нельзя складывать напрямую — нужен str().
Комментарии
Загрузка…
Загрузка комментариев…