Найти тему
Журнал разработчика

Запись 3. Преобразование типов

Ранее мы выяснили, что операторы Python по разному работают с разными типами данных.

Ещё один специфический результат можно получить умножив строку на число (для этого воспользуемся оператором умножения – "*"):

Умножаем строку на число
Умножаем строку на число
Результат, троекратное повторение строки
Результат, троекратное повторение строки

А теперь к тому, что НЕ сработает.

Сложение строки и числа приведёт к ошибке:

Пробуем сложить строку и число
Пробуем сложить строку и число
В результате получаем ошибку
В результате получаем ошибку

Обратите внимание на полноту описания ошибки. Указано в какой строке ошибка и какая именно. Так и написано, что не поддерживается оператор сложения (+) применительно к числу ('int') и строке ('str').

Как же быть. На самом деле всё предельно просто. Необходимо привести данные к нужному типу. В нашем случае число 365 надо преобразовать (конвертировать) в строку '365'.

В Python для этого служить функция str(). Пример:

Обратите внимание какие переменные передаём функции "print()"
Обратите внимание какие переменные передаём функции "print()"
В результате видим ту строчку, которую и ожидали
В результате видим ту строчку, которую и ожидали

Что мы сделали?

  • Взяли значение переменной "a"
  • Преобразовали его в строку
  • Записали в новую переменную "str_a"

Теперь Python без труда сложил две строки в одну и вывел результат.

Тот же результат, можно получить без использования дополнительной переменной:

Преобразуем тип "на лету" так сказать
Преобразуем тип "на лету" так сказать

Естественно существует и функция преобразования данных в число. В Python это функция "int()".

Конвертируем типы прямо в функции печати, мы же научились
Конвертируем типы прямо в функции печати, мы же научились

Результатом будет число 365.

На что следует обратить внимание! Преобразовать в строку можно любые данные. А вот с конвертацией в целые числа давайте поэкспериментируем.

Пробуем преобразовать текст в число
Пробуем преобразовать текст в число
Ошибка, что, собственно, достаточно ожидаемо
Ошибка, что, собственно, достаточно ожидаемо

А если так:

Преобразуем вещественное (т.е. с дробной частью) число в целое
Преобразуем вещественное (т.е. с дробной частью) число в целое
Результат, целая часть числа. Дробная составляющая теряется
Результат, целая часть числа. Дробная составляющая теряется