Приведение типов (int, str, float)
Иногда данные нужно превратить из одного типа в другой: строку в число или число в текст.
Зачем менять тип
Данные, введённые пользователем через input, всегда строки — даже если это «5». Чтобы посчитать, строку сначала превращают в число. А чтобы склеить число с текстом, число превращают в строку.
age = input() # строка "5"
age = int(age) # число 5
print(age + 1) # 6
Основные функции
int() делает целое число, float() — дробное, str() — строку. Приведение возможно, только если значение подходит: int("abc") вызовет ошибку, а int("12") сработает.
print(int("12")) # 12
print(float("3.5")) # 3.5
print(str(100)) # "100"
Частые ошибки
Ошибка «can only concatenate str» означает, что вы пытаетесь сложить строку и число — приведите число к строке через str или используйте f-строку. И помните: int("3.5") не сработает, дробную строку сначала приводят через float.
Частые вопросы
Почему input даёт строку? input всегда возвращает текст — число из него получают через int или float.
Как превратить число в текст? Функцией str или подстановкой в f-строку.
Начать игру бесплатно