English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Прежде чем изучать преобразование типов в Python, вы должны понять Типы данных Python.
Процесс преобразования значения одного типа данных (целое число, строка, вещественное число и т.д.) в другой тип данных называется преобразованием типов. Python имеет два типа преобразований типов.
Неявное преобразование типов
Явная типовая конверсия
В неявном преобразовании типов Python автоматически преобразует один тип данных в другой. Этот процесс не требует участия пользователя.
Давайте посмотрим на пример, где Python способствует преобразованию более низкого типа данных (целое число) в более высокий тип данных (вещественное число), чтобы избежать потери данных.
num_int = 123 num_flo = 1.23 num_new = num_int + num_flo print("Тип данных num_int:",type(num_int)) print(“тип данных num_flo:”,type(num_flo)) print(“num_new的价值:”,num_new) print(“num_new的数据类型:”,type(num_new))
Когда мы запускаем上面的 программу, вывод будет следующим:
Тип данных num_int: <class 'int'> тип данных num_flo: <class 'float'> значение num_new: 124.23 тип данных num_new: <class 'float'>
В上面的 программе
Мы сложим два переменныхnum_intиnum_flo сложитьи хранить значения в переменнойв num_new.
мы рассмотрим тип данных всех трех объектов.
В выводе мы можем увидетьnum_intтип данных — integer,num_floтип данных — float.
Кроме того, мы можем увидетьnum_newс типом данных float, потому что Python всегда преобразует более мелкий тип данных в более крупный тип данных, чтобы избежать потери данных.
Теперь давайте попробуем сложить строку и целое число и посмотреть, как с этим справится Python.
num_int = 123 num_str = "456" print("Тип данных num_int:",type(num_int)) print(“num_str的数据类型:”,type(num_str)) print(num_int+num_str)
Когда мы запускаем上面的 программу, вывод будет следующим:
Тип данных num_int: <class 'int'> тип данных num_str: <class 'str'> Traceback (последний вызов в начале): File “python”, line 7, in <module> TypeError: не поддерживаемые типы операнда для +: 'int' и 'str'
В上面的 программе
у нас два переменныхnum_int иnum_strсуммировать.
Из вывода можно увидеть, что у нас появился TypeError. В этом случае Python не может использовать неявную конверсию.
Но Python предоставляет решение для таких случаев, называемое “Явная конверсия“”
В “Явная типовая конверсия”в котором пользователь преобразует тип данных объекта в требуемый тип данных. Мы используем такие предопределенные функции, как int(), float(), str() и т.д., для явной типовой конверсии.
Эта типовая конверсия также называется типовой конверсией, потому что пользователь принудительно конвертирует (изменяет) тип данных объекта.
Грамматика :
<required_datatype>(expression)
Типовая конверсия можно выполнить, присвоив функцию типа данных, необходимого для выражения.
num_int = 123 num_str = "456" print("Тип данных num_int:",type(num_int)) print("Тип данных num_str до преобразования:",type(num_str)) num_str = int(num_str) print("Тип данных num_str после преобразования:",type(num_str)) num_sum = num_int + num_str print("Сумма num_int и num_str:",num_sum) print("Тип данных sum:",type(num_sum))
Когда мы запускаем上面的 программу, вывод будет следующим:
Тип данных num_int: <class 'int'> Тип данных num_str до преобразования: <class 'str'> Тип данных num_str после преобразования: <class 'int'> Сумма num_int и num_str: 579 тип данных sum: <class 'int'>
В上面的 программе
Мыnum_strиnum_intсложение переменных.
Мы используем функцию int() дляnum_strИз типа string (высокий) в тип integer (низкий) для выполнения сложения.
Преобразоватьnum_strПосле преобразования в целое число Python может выполнять сложение этих двух переменных.
В конце концов, мы получаемnum_sumЗначение и и того же значения тип данных - целое число.
Преобразование типов - это преобразование объекта из одного типа данных в другой.
Имплицитное преобразование типов выполняется автоматически интерпретатором Python.
Python избегает потери данных при имплицитном преобразовании типов.
Экземплярного преобразования типов также называют преобразованием типов, при котором пользователь использует предопределенные функции для преобразования типа данных объекта.
В процессе преобразования типов, когда мы принудительно преобразуем объект в определенный тип данных, может произойти потеря данных.