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

posted on   数据库那些事儿  阅读(5)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示