Python 的数值类型直接对应数学中常用的数,使用起来非常自然,不需要像某些语言那样区分短整型、长整型、单精度、双精度。日常编程中最常用到的四种数值类型分别是 int(整数)、float(浮点数)、complex(复数)和 bool(布尔值)。
int — 整数
- 特点:Python 3 的
int可以表示任意大小的整数,只受限于内存大小,不再有“溢出”问题。例如10**1000(10 的 1000 次方)可以直接计算,不必像 C/Java 那样用 BigInteger 专门处理。 - 常用操作:
- 加减乘除、取余(
%)、整除(//)、幂(**) - 不同进制表示:二进制
0b1010,八进制0o12,十六进制0xA - 使用
int()将字符串或其他类型转换为整数,如int("10")、int(3.9)会截断小数部分得到 3 - 实用注意:整数除法
/永远返回float,需要取整时才用//。
float — 浮点数
- 特点:Python 的
float是基于 IEEE 754 标准的双精度浮点数,也就是 C 语言中的 double。可以表示带小数点的数字,也可以用科学计数法,如1.5e-3表示 0.0015。 - 常见坑点:浮点数有精度限制,不能精确表示所有十进制小数。例如
0.1 + 0.2结果不是0.3,而是0.30000000000000004。在进行涉及货币等需要精确计算的场景时,应使用decimal.Decimal或按业务逻辑处理(例如用整数表示“分”)。 - 特殊值:
float('inf')表示无穷大,float('-inf')表示负无穷float('nan')表示非数字,注意nan != nan为 True,需要用math.isnan()判断
complex — 复数
- 特点:Python 原生支持复数,用
j或J表示虚数单位。例如3 + 4j,其中实部和虚部都是浮点数。 - 使用方式:
- 通过
.real和.imag获取实部和虚部 - 支持标准算术运算,如
(3+4j) * (1+2j)会按复数运算法则计算 - 适用场景:科学计算、信号处理、电工电子等领域会直接用到复数,非常方便。普通业务开发中很少主动用,但知道 Python 有这个能力就好。
布尔值 — bool
- 本质:
bool是int的子类,只有两个值:True(等于 1)和False(等于 0)。所以True + 1结果是 2。不过为了代码可读性,不要刻意依赖它们的数值特性。 - 使用方式:
- 条件判断、循环控制中直接使用,如
if user.is_active: - 逻辑运算:
and、or、not - 任何对象都可以用在布尔上下文中(if、while、布尔操作),对象是否为假由其
bool()或len()方法决定。典型假值:0、0.0、''、[]、{}、None等。
小结:工作中绝大多数运算使用 int 和 float 就能满足需求;涉及精确小数时注意浮点数精度陷阱;复数在特定领域很实用;布尔值虽然是 int 子类,但逻辑上把它当成“真/假”使用才是正道。