Python: Явное преобразование типов
В реальных программах часто возникает ситуация, когда данные одного типа нужно превратить в другой. Это особенно актуально, например, при обработке ввода пользователя или данных из веб-форм. Там все приходит в виде строк, даже если вы ввели число.

Чтобы работать с такими значениями, их нужно явно преобразовать в нужный тип и для этого в Python есть свой набор функций.
Преобразование строки в число
Представим, что мы получили из формы строку '345', а нам нужно сложить это число с другим:
number = int('345')
print(number + 5) # => 350Функция int() получает строку и превращает ее в целое число.
Такая функция называется функцией приведения типа (casting function).
value = '0'
converted_value = int(value)
print(converted_value) # => 0
print(int('10')) # => 10
print(int(3.5)) # => 3 (дробная часть отбрасывается)'123' ──int()──→ 123 ──float()──→ 123.0
│
str()
↓
'123'Преобразование в строку с помощью str()
Если нужно превратить число или логическое значение в строку, используйте функцию str():
print(str(10)) # => '10'
print(str(True)) # => 'True'
print(str(3.5)) # => '3.5'Это полезно, например, при формировании текстов, сообщений и вывода:
age = 42
print("Age: " + str(age)) # => Age: 42Преобразование в число с плавающей точкой с помощью float()
Если нужно число с десятичной точкой, используйте float():
print(float(5)) # => 5.0
print(float('2.7')) # => 2.7Задание
Термометр показывает температуру с десятичной точкой. Программа должна вывести только целое значение с подписью.
У вас есть переменная:
temperature = 36.6Напишите программу, которая:
- Преобразует температуру в целое число.
- Полученное число превратит в строку.
- Выведет эту строку на экран, добавив через пробел подпись
°C.
Используйте функции int() и str().
Полезное
Python: Явное преобразование типов
В реальных программах часто возникает ситуация, когда данные одного типа нужно превратить в другой. Это особенно актуально, например, при обработке ввода пользователя или данных из веб-форм. Там все приходит в виде строк, даже если вы ввели число.

Чтобы работать с такими значениями, их нужно явно преобразовать в нужный тип и для этого в Python есть свой набор функций.
Преобразование строки в число
Представим, что мы получили из формы строку '345', а нам нужно сложить это число с другим:
number = int('345')
print(number + 5) # => 350Функция int() получает строку и превращает ее в целое число.
Такая функция называется функцией приведения типа (casting function).
value = '0'
converted_value = int(value)
print(converted_value) # => 0
print(int('10')) # => 10
print(int(3.5)) # => 3 (дробная часть отбрасывается)'123' ──int()──→ 123 ──float()──→ 123.0
│
str()
↓
'123'Преобразование в строку с помощью str()
Если нужно превратить число или логическое значение в строку, используйте функцию str():
print(str(10)) # => '10'
print(str(True)) # => 'True'
print(str(3.5)) # => '3.5'Это полезно, например, при формировании текстов, сообщений и вывода:
age = 42
print("Age: " + str(age)) # => Age: 42Преобразование в число с плавающей точкой с помощью float()
Если нужно число с десятичной точкой, используйте float():
print(float(5)) # => 5.0
print(float('2.7')) # => 2.7Задание
Термометр показывает температуру с десятичной точкой. Программа должна вывести только целое значение с подписью.
У вас есть переменная:
temperature = 36.6Напишите программу, которая:
- Преобразует температуру в целое число.
- Полученное число превратит в строку.
- Выведет эту строку на экран, добавив через пробел подпись
°C.
Используйте функции int() и str().
Полезное
Ваше упражнение проверяется по этим тестам
import importlib
def test(capsys):
expected = "36 °C"
expect_output(capsys, expected)
def expect_output(capsys, expected):
importlib.import_module('solution')
out, _err = capsys.readouterr()
actual = out.strip('\n')
with capsys.disabled():
print('\n')
print(out)
assert actual == expectedРешение учителя откроется через:
20:00
