隐式类型转换 - 自动完成
- 例1
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))
Python 会将较小的数据类型转换为较大的数据类型,以避免数据丢失
- 例2
num_int = 123
num_str = "456"
print("num_int 数据类型为:",type(num_int))
print("num_str 数据类型为:",type(num_str))
print(num_int+num_str)
整型和字符串类型运算结果会报错,输出 TypeError。 Python 在这种情况下无法使用隐式转换。
但是,Python 为这些类型的情况提供了一种解决方案,称为显式转换
显式类型转换 - 需要使用类型函数来转换
在显式类型转换中,用户将对象的数据类型转换为所需的数据类型。
我们使用int()
、float()
、str()
等预定义函数来执行显式类型转换。
int()
强制转换为整型:
print("=======显示转换============")
x = int(1) # x 输出结果为 1
y = int(2.8) # y 输出结果为 2
z = int("3") # z 输出结果为 3
print(x)
print(y)
print(z)
2. float() 强制转换为浮点型:
print("=======float显示转换============")
x = float(1) # x 输出结果为 1.0
y = float(2.8) # y 输出结果为 2.8
z = float("3") # z 输出结果为 3.0
w = float("4.2") # w 输出结果为 4.2
print(x)
print(y)
print(z)
print(w)
3. str() 强制转换为字符串类型:
print("=======float显示转换============")
x = str("s1") # x 输出结果为 's1'
y = str(2) # y 输出结果为 '2'
z = str(3.0) # z 输出结果为 '3.0'
print(x,type(x))
print(y,type(y))
print(z,type(z))