Python中数字类型转换的方法
在 Python 里,数字类型转换是常见的操作,主要有隐式类型转换和显式类型转换两种方式,下面详细介绍。
隐式类型转换
当不同类型的数字进行运算时,Python 会自动将较低精度的类型转换为较高精度的类型,以避免数据丢失。这种转换无需开发者手动干预,具体规则如下:
- 整数与浮点数运算:整数会自动转换为浮点数。
num_int = 5
num_float = 3.2
result = num_int + num_float
print(result) # 输出 8.2,num_int 被隐式转换为浮点数
print(type(result)) # 输出 <class 'float'>
- 整数 / 浮点数与复数运算:整数和浮点数会自动转换为复数。
num_int = 2
num_complex = 3 + 4j
result = num_int + num_complex
print(result) # 输出 (5+4j),num_int 被隐式转换为复数
print(type(result)) # 输出 <class 'complex'>
显式类型转换
显式类型转换需要开发者使用特定的函数来实现,常见的函数有以下几种:
int() 函数
用于将其他类型的数据转换为整数,转换规则如下:
- 浮点数转换:直接截断小数部分。
num_float = 3.9
num_int = int(num_float)
print(num_int) # 输出 3
- 字符串转换:字符串必须是表示整数的有效字符串,否则会抛出
ValueError异常。
str_num = "10"
num_int = int(str_num)
print(num_int) # 输出 10
# 下面的代码会抛出 ValueError 异常
# str_invalid = "3.14"
# num_int = int(str_invalid)
float() 函数
用于将其他类型的数据转换为浮点数,转换规则如下:
- 整数转换:在整数后面添加
.0。
num_int = 8
num_float = float(num_int)
print(num_float) # 输出 8.0
- 字符串转换:字符串必须是表示数字的有效字符串,否则会抛出
ValueError异常。
str_num = "2.5"
num_float = float(str_num)
print(num_float) # 输出 2.5
# 下面的代码会抛出 ValueError 异常
# str_invalid = "abc"
# num_float = float(str_invalid)
complex() 函数
用于将其他类型的数据转换为复数,有以下两种常见用法:
- 单参数形式:将参数作为复数的实部,虚部为 0。
num_int = 5
num_complex = complex(num_int)
print(num_complex) # 输出 (5+0j)
- 双参数形式:第一个参数作为实部,第二个参数作为虚部。
real_part = 3
imag_part = 4
num_complex = complex(real_part, imag_part)
print(num_complex) # 输出 (3+4j)
bool() 函数
用于将数字转换为布尔类型,规则如下:
- 数字 0 转换为
False。 - 非零数字转换为
True。
num_zero = 0
num_non_zero = 7
bool_zero = bool(num_zero)
bool_non_zero = bool(num_non_zero)
print(bool_zero) # 输出 False
print(bool_non_zero) # 输出 True
浙公网安备 33010602011771号