人人都会AI编程

数值类型:int、float、complex、布尔值

更新时间:2026-07-12

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 原生支持复数,用 jJ 表示虚数单位。例如 3 + 4j,其中实部和虚部都是浮点数。
  • 使用方式
  • 通过 .real.imag 获取实部和虚部
  • 支持标准算术运算,如 (3+4j) * (1+2j) 会按复数运算法则计算
  • 适用场景:科学计算、信号处理、电工电子等领域会直接用到复数,非常方便。普通业务开发中很少主动用,但知道 Python 有这个能力就好。

布尔值 — bool

  • 本质boolint 的子类,只有两个值:True(等于 1)和 False(等于 0)。所以 True + 1 结果是 2。不过为了代码可读性,不要刻意依赖它们的数值特性。
  • 使用方式
  • 条件判断、循环控制中直接使用,如 if user.is_active:
  • 逻辑运算:andornot
  • 任何对象都可以用在布尔上下文中(if、while、布尔操作),对象是否为假由其 bool()len() 方法决定。典型假值:00.0''[]{}None 等。

小结:工作中绝大多数运算使用 intfloat 就能满足需求;涉及精确小数时注意浮点数精度陷阱;复数在特定领域很实用;布尔值虽然是 int 子类,但逻辑上把它当成“真/假”使用才是正道。