- 隐式类型转换- 自动完成
- 显式类型转换- 需要使用类型函数来转换
一、隐式类型转换
在隐式类型转换中,Python 会自动将一种数据类型转换为另一种数据类型,不需要我们去干预。 以下实例中,我们对两种不同类型的数据进行运算,较低数据类型(整数)就会转换为较高数据类型(浮点数)以避免数据丢失。
num_int = 123num_flo = 1.23num_new = num_int + num_floprint("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))
二、显式类型转换
在显式类型转换中,用户将对象的数据类型转换为所需的数据类型。 我们使用 int()、float()、str() 等预定义函数来执行显式类型转换。
int() 强制类型转换为整数
x = int(1) # x 输出结果为 1y = int(2.8) # y 输出结果为 2z = int("3") # z 输出结果为 3
float() 强制转换为浮点型:
x = float(1) # x 输出结果为 1.0y = float(2.8) # y 输出结果为 2.8z = float("3") # z 输出结果为 3.0w = float("4.2") # w 输出结果为 4.2
str() 强制转换为字符串类型:
x = str("s1") # x 输出结果为 's1'y = str(2) # y 输出结果为 '2'z = str(3.0) # z 输出结果为 '3.0'
num_int = 123num_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_strprint("num_int 与 num_str 相加结果为:",num_sum)print("sum 数据类型为:",type(num_sum))
