Приведение типов (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-строку.

Начать игру бесплатно