Преобразование типов Python и приведение типов
Преобразование и приведение типов Python
В этой статье вы узнаете о преобразовании типов и использовании преобразования типов.
Прежде чем изучать преобразование типов в 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))
Когда мы запустим указанную выше программу, вывод будет таким:
datatype of num_int: <class 'int'> datatype of num_flo: <class 'float'> Value of num_new: 124.23 datatype of num_new: <class 'float'>
В приведенной выше программе
- Мы добавляем две переменные num_int и num_flo , сохраняя значение в num_new .
- Мы рассмотрим тип данных всех трех объектов соответственно.
- В выходных данных мы видим тип данных num_int. это
integer
в то время как тип данных num_flo этоfloat
. - Кроме того, мы можем видеть 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)
Когда мы запустим указанную выше программу, вывод будет таким:
Data type of num_int: <class 'int'> Data type of num_str: <class 'str'> Traceback (most recent call last): File "python", line 7, in <module> TypeError: unsupported operand type(s) for +: 'int' and 'str'
В приведенной выше программе
- Мы добавляем две переменные num_int и num_str .
- Как видно из вывода, мы получили
TypeError
. Python не может использовать неявное преобразование в таких условиях. - Однако в Python есть решение для подобных ситуаций, известное как явное преобразование.
Явное преобразование типов
При явном преобразовании типов пользователи преобразуют тип данных объекта в требуемый тип данных. Мы используем предопределенные функции, такие как int()
, float()
, str()
и т. д. для выполнения явного преобразования типов.
Этот тип преобразования также называется приведением типов, поскольку пользователь приводит (изменяет) тип данных объектов.
Синтаксис:
<required_datatype>(expression)
Приведение типов можно выполнить, назначив требуемую функцию типа данных выражению.
<час>Пример 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))
Когда мы запустим указанную выше программу, вывод будет таким:
Data type of num_int: <class 'int'> Data type of num_str before Type Casting: <class 'str'> Data type of num_str after Type Casting: <class 'int'> Sum of num_int and num_str: 579 Data type of the sum: <class 'int'>
В приведенной выше программе
- Мы добавляем num_str и num_int переменная.
- Мы преобразовали num_str из строкового (высшего) в целочисленный (нижний) тип с использованием
int()
функция для выполнения добавления. - После преобразования num_str к целочисленному значению, Python может добавить эти две переменные.
- Мы получили num_sum значение и тип данных должны быть целым числом.
Ключевые моменты, которые следует помнить
- Преобразование типов — это преобразование объекта из одного типа данных в другой тип данных.
- Неявное преобразование типов автоматически выполняется интерпретатором Python.
- Python позволяет избежать потери данных при неявном преобразовании типов.
- Явное преобразование типов также называется преобразованием типов. Типы данных объектов преобразуются пользователем с помощью предопределенных функций.
- При преобразовании типов возможна потеря данных, поскольку мы привязываем объект к определенному типу данных.
Python
- Преобразование типов С#
- Ключевые слова и идентификаторы Python
- Оператор Python, отступы и комментарии
- Переменные Python, константы и литералы
- Типы данных Python
- Ввод, вывод и импорт Python
- Глобальные, локальные и нелокальные переменные Python
- Числа Python, преобразование типов и математика
- Управление каталогами и файлами Python
- Ошибки Python и встроенные исключения