Урок 5 Приведение типов

int(), float(), str(), bool() — преобразование данных из одного типа в другой

⏱ ~8 мин чтения· 🚀 Начальный

Зачем нужно приведение типов?

Когда вы получаете данные от пользователя через input(), они всегда приходят в виде строки (str). Чтобы выполнять математические операции, строку нужно преобразовать в число.

age_str = input("Сколько вам лет? ")   # пользователь ввёл "25"
age = int(age_str)                      # теперь age = 25 (int)
print("Через год будет:", age + 1)      # 26

💡 Совет: Правило: input() всегда возвращает строку. Если нужны вычисления — приводите к числу!

Основные функции приведения

ФункцияНазначениеПример
int(x)Преобразует в целое числоint("42") → 42
float(x)Преобразует в число с плавающей точкойfloat("3.14") → 3.14
str(x)Преобразует в строкуstr(42) → "42"
bool(x)Преобразует в логическое значениеbool(0) → False

int() — преобразование в целое число

print(int("100"))      # 100
print(int(3.99))       # 3 (дробная часть отбрасывается, НЕ округляется!)
print(int("-42"))      # -42

# Ошибка при нечисловой строке:
# int("hello")  → ValueError

float() — преобразование в дробное число

print(float("3.14"))   # 3.14
print(float(10))       # 10.0
print(float("5"))      # 5.0

str() — преобразование в строку

print(str(42))         # "42"
print(str(3.14))       # "3.14"
print(str(True))       # "True"

# Полезно для склеивания чисел со строками:
age = 25
print("Мне " + str(age) + " лет.")   # Мне 25 лет.
# Без str() будет TypeError!

bool() — преобразование в логическое значение

print(bool(1))         # True
print(bool(0))         # False
print(bool(""))        # False (пустая строка)
print(bool("hello"))   # True  (непустая строка)
print(bool([]))        # False (пустой список)
print(bool([1, 2]))    # True  (непустой список)

💡 Совет: Запомните: «Пустые» значения (0, "", [], {}, None) приводятся к False. Всё остальное — к True.

Практический пример: калькулятор

a = float(input("Введите первое число: "))
b = float(input("Введите второе число: "))

print("Сумма:", a + b)
print("Разность:", a - b)
print("Произведение:", a * b)
print("Частное:", a / b if b != 0 else "на ноль делить нельзя")

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

  • int("3.14")ValueError: строка с точкой не может быть int. Сначала float(), потом int().
  • "Мне " + 25 + " лет"TypeError: нельзя складывать строку и число. Используйте str(25).
  • int(input()) без проверки — если пользователь введёт буквы, программа упадёт. Используйте try/except (будет в уроке 10).