В этой статье вы узнаете о преобразовании типов и использовании преобразования типов.
Прежде чем изучать преобразование типов в Python, вы должны знать о типах данных Python.
Преобразование типов
Процесс преобразования значения одного типа данных (целое число, строка, число с плавающей запятой и т. Д.) В другой тип данных называется преобразованием типа. В Python есть два типа преобразования типов.
- Неявное преобразование типов
- Явное преобразование типов
Неявное преобразование типов
При неявном преобразовании типов Python автоматически преобразует один тип данных в другой тип данных. Этот процесс не требует участия пользователя.
Давайте посмотрим на пример, в котором Python способствует преобразованию более низкого типа данных (целое число) в более высокий тип данных (с плавающей запятой), чтобы избежать потери данных.
Пример 1: преобразование целого числа в число с плавающей запятой
num_int = 123 num_flo = 1.23 num_new = num_int + num_flo print("datatype of num_int:",type(num_int)) print("datatype of num_flo:",type(num_flo)) print("Value of num_new:",num_new) print("datatype of num_new:",type(num_new))
Когда мы запустим вышеуказанную программу, вывод будет:
тип данных num_int: тип данных num_flo: значение num_new: 124.23 тип данных num_new:
В приведенной выше программе
- Мы добавляем две переменные num_int и num_flo, сохраняя значение в num_new.
- Мы рассмотрим типы данных всех трех объектов соответственно.
- На выходе мы видим, что тип данных num_int - это a,
integer
а тип данных num_flo - afloat
. - Кроме того, мы можем видеть, что num_new имеет
float
тип данных, потому что Python всегда преобразует меньшие типы данных в большие типы данных, чтобы избежать потери данных.
Теперь давайте попробуем добавить строку и целое число и посмотрим, как с этим справляется Python.
Пример 2: Добавление строкового (высшего) типа данных и целочисленного (нижнего) типа данных
num_int = 123 num_str = "456" print("Data type of num_int:",type(num_int)) print("Data type of num_str:",type(num_str)) print(num_int+num_str)
Когда мы запустим вышеуказанную программу, вывод будет:
Тип данных num_int: Тип данных num_str: Traceback (последний вызов последним): файл «python», строка 7, в TypeError: неподдерживаемые типы операндов для +: 'int' и 'str'
В приведенной выше программе
- Мы добавляем две переменные num_int и num_str.
- Как видно из вывода, мы получили
TypeError
. Python не может использовать неявное преобразование в таких условиях. - Однако в Python есть решение для таких ситуаций, известное как явное преобразование.
Явное преобразование типов
В явном преобразовании типов пользователи преобразуют тип данных объекта в требуемый тип данных. Мы используем предопределенные функции , такие как int()
, float()
, str()
и т.д. , чтобы выполнить явное преобразование типа.
Этот тип преобразования также называется приведением типов, поскольку пользователь приводит (изменяет) тип данных объектов.
Синтаксис:
(выражение)
Приведение типов может быть выполнено путем присвоения выражению требуемой функции типа данных.
Пример 3: Добавление строки и целого числа с помощью явного преобразования
num_int = 123 num_str = "456" print("Data type of num_int:",type(num_int)) print("Data type of num_str before Type Casting:",type(num_str)) num_str = int(num_str) print("Data type of num_str after Type Casting:",type(num_str)) num_sum = num_int + num_str print("Sum of num_int and num_str:",num_sum) print("Data type of the sum:",type(num_sum))
Когда мы запустим вышеуказанную программу, вывод будет:
Тип данных num_int: Тип данных num_str до преобразования типа: Тип данных num_str после преобразования типа: сумма num_int и num_str: 579 Тип данных суммы:
В приведенной выше программе
- Добавляем переменную num_str и num_int.
- Мы преобразовали num_str из строкового (выше) в целочисленный (нижний) тип, используя
int()
функцию для выполнения сложения. - После преобразования num_str в целочисленное значение Python может добавить эти две переменные.
- Мы получили значение num_sum и тип данных как целое число.
Ключевые моменты, которые следует помнить
- Преобразование типов - это преобразование объекта из одного типа данных в другой тип данных.
- Неявное преобразование типов автоматически выполняется интерпретатором Python.
- Python позволяет избежать потери данных при неявном преобразовании типов.
- Явное преобразование типов также называется приведением типов, типы данных объектов преобразуются пользователем с использованием предопределенных функций.
- В приведении типов может произойти потеря данных, поскольку мы применяем объект к определенному типу данных.