1. 隐式类型转换 - 自动完成
在隐式类型转换中,Python 会自动将一种数据类型转换为另一种数据类型,不需要我们去干预
。
(1)
以下实例中,我们对两种不同类型的数据进行运算,较低数据类型(整数)就会转换为较高数据类型(浮点数)以避免数据丢失。
num_int = 123
num_float = 1.23
newNum = num_int + num_float
print(type(num_int))
print(type(num_float))
print(newNum, type(newNum))
(2)
再来看一个实例:整型数据和字符串相加。
print(123+'456')
Python 在这种情况下无法使用隐式转换。但是,Python 为这些类型的情况提供了一种解决方案,称为显式转换。
2. 显式类型转换 - 需要使用类型函数来转换
在显式类型转换中,用户将对象的数据类型转换为所需的数据类型。 我们使用 int()、float()、str() 等预定义函数来执行显式类型转换。
print(123+int('456')) # 579
3. 类型转换函数
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。
int(x, [base])
:将x转换为一个整数
float(x)
:将x转换到一个浮点数
complex(real[,imag])
:创建一个复数
str(x)
:将对象 x 转换为字符串
repr(x)
:将对象 x 转换为表达式字符串
eval(str)
:用来计算在字符串中的有效Python表达式,并返回一个对象
chr(x)
:将一个整数转换为一个字符
ord(x)
:将一个字符转换为它的整数值
hex(x)
:将一个整数转换为一个十六进制字符串
oct(x)
:将一个整数转换为一个八进制字符串
list(s)
:将序列 s 转换为一个列表
tuple(s)
: 将序列 s 转换为一个元组
set(s)
:转换为可变集合
dict(d)
:创建一个字典。d 必须是一个 (key, value)元组序列