Python 数字类型详解
Python 语言中的数字类型构成了数值计算的基础框架,主要包括三类核心类:int
(整数)、float
(浮点数)和 complex
(复数)。此外,布尔类型 bool
在底层实现中是 int
的子类,这使得其在数值运算中具有特殊的行为特性。
数字类型基础架构
Python 的数字类型系统设计简洁而高效,三种基本数字类型各具特性:
-
整数类型 (int)
- 表示数学中的整数概念,无取值范围限制(仅受系统内存约束)
- 支持多种进制表示:十进制、二进制(
0b
前缀)、八进制(0o
前缀)和十六进制(0x
前缀) - 示例:
10
,0b1010
(二进制),0o12
(八进制),0xA
(十六进制)
-
浮点数类型 (float)
- 实现IEEE 754双精度浮点标准
- 约15-17位有效数字精度
- 支持科学计数法:
1.23e4
= 12300.0 - 示例:
3.14
,2.5e-3
,-0.0001
-
复数类型 (complex)
- 由实部和虚部组成,虚部用
j
或J
后缀标识 - 数学表示形式:
a + bj
- 属性访问:
.real
(实部),.imag
(虚部) - 示例:
3 + 4j
,complex(2, -5)
- 由实部和虚部组成,虚部用
特殊布尔类型
Python中的布尔值 True
和 False
实际上是整数字面量 1
和 0
的别名:
isinstance(True, int) # 返回 True
print(True + 1) # 输出: 2
数值运算体系
Python 数字类型支持全面的数学运算和比较操作:
基础运算
- 算术运算符:
+
(加)、-
(减)、*
(乘)、/
(除)、//
(整除)、%
(取模)、**
(幂运算) - 位运算符:
&
(按位与)、|
(按位或)、^
(按位异或)、~
(按位取反)、<<
(左移)、>>
(右移)
比较运算
支持完整的比较链式操作:
x = 5
x > 3 > 1 # 等价于 x > 3 and 3 > 1
类型转换系统
Python 提供了丰富而灵活的类型转换机制:
隐式转换
在混合类型运算中自动进行:
print(1 + 2.0) # 输出: 3.0(整型转浮点型)
print(True + 1) # 输出: 2(布尔型转整型)
显式转换
使用内置函数完成:
int(3.9) # 输出: 3(截断小数)
float(10) # 输出: 10.0
complex(2) # 输出: (2+0j)
bool(0) # 输出: False
高级数值操作
数学函数库
math
模块:提供三角函数、指数对数函数等标准数学运算cmath
模块:支持复数专用的数学运算
特殊数值处理
- 无穷大:
float('inf')
,float('-inf')
- 非数字(NaN):
float('nan')
- 精度校验:
math.isnan()
,math.isinf()
应用考量
Python 数字类型的设计兼顾了易用性与性能:
- 类型间转换透明且安全
- 算法实现符合数学直觉
- 大数支持无需特殊处理(Python 3中整数大小仅受内存限制)
理解这些数字类型及其特性是Python数据分析和科学计算的基础,为后续学习NumPy、Pandas等专业库奠定坚实基础。