Python 3 数字(Number)详解
Python 3 提供了多种数值类型,主要包括 整数(int)、浮点数(float)、复数(complex)。此外,Python 还支持 进制转换、数学运算、随机数和数学函数。
1. 数字类型
Python 3 主要支持三种数值类型:
| 类型 | 说明 | 示例 |
|---|---|---|
int | 整数,没有大小限制 | 10, -5, 1000000 |
float | 浮点数,带小数点或科学计数法 | 3.14, -0.001, 1.2e3 |
complex | 复数,包含实部和虚部 | 2 + 3j, -1.5 + 2.7j |
📌 示例代码:
a = 10 # 整数
b = 3.14 # 浮点数
c = 2 + 3j # 复数
print(type(a)) # <class 'int'>
print(type(b)) # <class 'float'>
print(type(c)) # <class 'complex'>
2. 数值运算
Python 允许对数值进行加、减、乘、除等运算:
| 运算符 | 说明 | 示例 | 结果 |
|---|---|---|---|
+ | 加法 | 5 + 3 | 8 |
- | 减法 | 10 - 4 | 6 |
* | 乘法 | 6 * 2 | 12 |
/ | 除法(返回浮点数) | 9 / 2 | 4.5 |
// | 整除(向下取整) | 9 // 2 | 4 |
% | 取余(取模) | 9 % 2 | 1 |
** | 幂运算 | 2 ** 3 | 8 |
📌 示例代码:
a, b = 9, 2
print(a + b) # 11
print(a - b) # 7
print(a * b) # 18
print(a / b) # 4.5
print(a // b) # 4
print(a % b) # 1
print(a ** b) # 81
3. 进制表示
Python 支持二进制、八进制、十六进制的整数表示:
| 进制 | 语法 | 示例 | 结果(十进制) |
|---|---|---|---|
| 二进制 | 0b 开头 | 0b1010 | 10 |
| 八进制 | 0o 开头 | 0o12 | 10 |
| 十六进制 | 0x 开头 | 0xA | 10 |
📌 示例代码:
print(0b1010) # 10
print(0o12) # 10
print(0xA) # 10
4. 类型转换
Python 提供了 int()、float()、complex() 进行数值类型转换。
| 方法 | 说明 | 示例 | 结果 |
|---|---|---|---|
int(x) | 转换为整数 | int(3.6) | 3 |
float(x) | 转换为浮点数 | float(5) | 5.0 |
complex(x, y) | 转换为复数 | complex(2, -3) | (2-3j) |
📌 示例代码:
print(int(3.9)) # 3
print(float(10)) # 10.0
print(complex(2, 5)) # (2+5j)
5. 常用数学函数
Python 内置 math 模块 提供了数学计算函数。
📌 引入 math 模块
import math
| 方法 | 说明 | 示例 | 结果 |
|---|---|---|---|
math.ceil(x) | 向上取整 | math.ceil(3.4) | 4 |
math.floor(x) | 向下取整 | math.floor(3.9) | 3 |
math.sqrt(x) | 平方根 | math.sqrt(9) | 3.0 |
math.pow(x, y) | x 的 y 次幂 | math.pow(2, 3) | 8.0 |
math.fabs(x) | 绝对值 | math.fabs(-10) | 10.0 |
math.factorial(x) | 阶乘 | math.factorial(5) | 120 |
math.log(x, base) | 对数 | math.log(8, 2) | 3.0 |
math.sin(x) | 正弦 | math.sin(math.pi/2) | 1.0 |
math.cos(x) | 余弦 | math.cos(0) | 1.0 |
math.tan(x) | 正切 | math.tan(math.pi/4) | 1.0 |
📌 示例代码:
import math
print(math.ceil(3.4)) # 4
print(math.floor(3.9)) # 3
print(math.sqrt(16)) # 4.0
print(math.pow(2, 3)) # 8.0
print(math.factorial(5))# 120
6. 生成随机数
Python 提供了 random 模块 用于生成随机数。
📌 引入 random 模块
import random
| 方法 | 说明 | 示例 | 结果 |
|---|---|---|---|
random.randint(a, b) | 生成 a 到 b 之间的随机整数 | random.randint(1, 10) | 3 |
random.uniform(a, b) | 生成 a 到 b 之间的随机浮点数 | random.uniform(1, 5) | 3.14 |
random.random() | 生成 0~1 之间的随机浮点数 | random.random() | 0.674 |
random.choice(seq) | 从序列 seq 中随机选择一个元素 | random.choice([1, 2, 3]) | 2 |
random.shuffle(seq) | 随机打乱 seq | random.shuffle(lst) | [3, 1, 2] |
📌 示例代码:
import random
print(random.randint(1, 10)) # 生成 1 到 10 之间的随机整数
print(random.uniform(1, 5)) # 生成 1 到 5 之间的随机浮点数
print(random.random()) # 生成 0 到 1 之间的随机数
print(random.choice(['a', 'b', 'c'])) # 随机选择 'a', 'b', 'c' 之一
lst = [1, 2, 3, 4, 5]
random.shuffle(lst)
print(lst) # 打乱列表
总结
- Python 支持
int、float、complex三种数值类型。 - Python 提供 进制转换、数学运算和数学函数。
math模块 提供高级数学函数,random模块 用于生成随机数。
你可以在 Python 交互模式中尝试这些代码,体验 Python 的强大数值计算功能! 更多详细内容请关注其他相关文章!