Python 数字类型详解:不可变数值数据的操作与数学函数
数字类型概述
数字数据类型存储数值。它们是不可变数据类型,改变数字数据类型的值会导致新分配对象。
赋值时创建 Number 对象:
var1 = 1 var2 = 10
可用 del 语句删除数字对象引用。语法:
del var1[,var2[,var3[....,varN]]]]
可删除单个或多个对象:
del var del var_a, var_b
Python 支持四种数值类型:
- int (有符号整数) - 常称整数,正负整数,无小数点
- long (长整数) - 无限大小整数,写法如整数后跟大写或小写 L
- float (浮点数) - 实数,用小数点分隔整数和小数部分。支持科学计数法,E/e 表示 10 的幂 (2.5e2 = 2.5 x 10² = 250)
- complex (复数) - 形式 a + bJ,a 和 b 为浮点数,J/j 代表 -1 的平方根(虚数)。实部为 a,虚部为 b。Python 编程中复数较少用
示例
| int | long | float | complex |
|---|---|---|---|
| 10 | 51924361L | 0.0 | 3.14j |
| 100 | -0x19323L | 15.20 | 45.j |
| -786 | 0122L | -21.9 | 9.322e-36j |
| 080 | 0xDEFABCECBDAECBFBAEL | 32.3+e18 | .876j |
| -0490 | 535633629843L | -90. | -.6545+0J |
| -0x260 | -052318172735L | -32.54e100 | 3e+26J |
| 0x69 | -4721885298529L | 70.2-E12 | 4.53e-7j |
- Python 允许长整数用小写 l,但建议仅用大写 L 避免与数字 1 混淆。Python 显示长整数用大写 L。
- 复数由有序实浮点数对 a + bj 表示,a 为实部,b 为虚部。
数字类型转换
混合类型表达式中 Python 内部将数字转为通用类型求值。但有时需显式强制转换以满足运算符或函数参数要求:
- int(x) - 将 x 转为普通整数
- long(x) - 将 x 转为长整数
- float(x) - 将 x 转为浮点数
- complex(x) - 将 x 转为实部为 x、虚部为零的复数
- complex(x, y) - 将 x 和 y 转为实部为 x、虚部为 y 的复数。x 和 y 为数值表达式
数学函数
Python 包含以下数学计算函数:
| 序号 | 函数与返回值(说明) |
|---|---|
| 1 | abs(x) - x 的绝对值:x 与零的正距离 |
| 2 | ceil(x) - x 的天花板:不小于 x 的最小整数 |
| 3 | cmp(x, y) - x<y 返回 -1,x==y 返回 0,x>y 返回 1 |
| 4 | exp(x) - x 的指数:ex |
| 5 | fabs(x) - x 的绝对值 |
| 6 | floor(x) - x 的地板:不大于 x 的最大整数 |
| 7 | log(x) - x 的自然对数,x>0 |
| 8 | log10(x) - x 的底-10 对数,x>0 |
| 9 | max(x1, x2,...) - 最大参数:最接近正无穷的值 |
| 10 | min(x1, x2,...) - 最小参数:最接近负无穷的值 |
| 11 | modf(x) - x 的小数和整数部分组成的二元元组。两部分符号同 x。整数部分作为浮点数返回 |
| 12 | pow(x, y) - x**y 的值 |
| 13 | round(x [,n]) - x 四舍五入到小数点后 n 位。Python 以远离零为决胜:round(0.5)=1.0,round(-0.5)=-1.0 |
| 14 | sqrt(x) - x 的平方根,x>0 |
随机数函数
随机数用于游戏、模拟、测试、安全和隐私应用。Python 常用函数:
| 序号 | 函数与说明 |
|---|---|
| 1 | choice(seq) - 从列表、元组或字符串中随机选取一项 |
| 2 | randrange([start,] stop [,step]) - 从 range(start, stop, step) 中随机选取元素 |
| 3 | random() - 随机浮点数 r,0 ≤ r < 1 |
| 4 | seed([x]) - 设置生成随机数的整数起始值。调用其他 random 模块函数前调用此函数。返回 None |
| 5 | shuffle(lst) - 原地随机化列表项。返回 None |
| 6 | uniform(x, y) - 随机浮点数 r,x ≤ r < y |
三角函数
Python 包含以下三角计算函数:
| 序号 | 函数与说明 |
|---|---|
| 1 | acos(x) - 返回 x 的反余弦,弧度制 |
| 2 | asin(x) - 返回 x 的反正弦,弧度制 |
| 3 | atan(x) - 返回 x 的反正切,弧度制 |
| 4 | atan2(y, x) - 返回 atan(y/x),弧度制 |
| 5 | cos(x) - 返回 x 弧度的余弦 |
| 6 | hypot(x, y) - 返回欧几里得范数,sqrt(x*x + y*y) |
| 7 | sin(x) - 返回 x 弧度的正弦 |
| 8 | tan(x) - 返回 x 弧度的正切 |
| 9 | degrees(x) - 将角度 x 从弧度转为度 |
| 10 | radians(x) - 将角度 x 从度转为弧度 |
数学常量
模块定义两个数学常量:
| 序号 | 常量与说明 |
|---|---|
| 1 | pi - 数学常量 π |
| 2 | e - 数学常量 e |
Python