Python,random
时间: 2025-06-01 12:06:16 浏览: 10
### Python `random` 模块的功能与使用方法
Python 的 `random` 模块提供了生成随机数的各种函数,这些函数在模拟、游戏开发、数据采样等场景中非常有用。以下是该模块的一些常用功能和用法:
#### 1. 基本随机数生成
- **`random.random()`**: 返回一个 [0.0, 1.0) 范围内的随机浮点数[^2]。
```python
import random
print(random.random()) # 输出如 0.3748361975844472
```
- **`random.uniform(a, b)`**: 返回一个在指定范围 `[a, b]` 内的随机浮点数[^3]。
```python
print(random.uniform(1.5, 2.5)) # 输出如 1.7834521345
```
#### 2. 整数随机数生成
- **`random.randint(a, b)`**: 返回一个在 `[a, b]` 范围内的随机整数。
```python
print(random.randint(1, 10)) # 输出如 7
```
- **`random.randrange(start, stop, step)`**: 返回一个从 `start` 到 `stop`(不包括 `stop`)范围内以 `step` 步长递增的随机整数[^3]。
```python
print(random.randrange(0, 10, 2)) # 输出如 4
```
#### 3. 序列操作
- **`random.choice(seq)`**: 从非空序列 `seq` 中随机选择一个元素并返回[^5]。
```python
items = ['apple', 'banana', 'cherry']
print(random.choice(items)) # 输出如 'banana'
```
- **`random.shuffle(seq)`**: 就地打乱序列 `seq` 的顺序[^3]。
```python
items = [1, 2, 3, 4, 5]
random.shuffle(items)
print(items) # 输出如 [3, 1, 4, 2, 5]
```
- **`random.sample(seq, k)`**: 从序列 `seq` 中随机抽取 `k` 个不重复的元素[^3]。
```python
items = ['red', 'green', 'blue', 'yellow']
print(random.sample(items, 2)) # 输出如 ['blue', 'red']
```
#### 4. 随机字节生成
- **`random.bytes(n)`**: 返回长度为 `n` 的随机字节对象[^3]。
```python
print(random.bytes(5)) # 输出如 b'\x9d\x8e\xab\xcd\xef'
```
#### 5. 随机种子设置
- **`random.seed(a)`**: 初始化随机数生成器的种子[^3]。如果未提供参数,则默认使用系统时间。
```python
random.seed(123)
print(random.randint(1, 10)) # 每次运行结果相同
```
#### 6. 其他分布相关函数
- **`random.normalvariate(mu, sigma)`**: 根据均值 `mu` 和标准差 `sigma` 生成符合正态分布的随机数[^3]。
```python
print(random.normalvariate(0, 1)) # 输出如 -0.452315634523
```
- **`random.expovariate(lambd)`**: 根据指数分布生成随机数。
```python
print(random.expovariate(1.5)) # 输出如 0.23456789
```
### 示例代码
以下是一个综合示例,展示如何使用 `random` 模块中的多个函数:
```python
import random
# 随机浮点数
print("Random float:", random.random())
# 随机整数
print("Random integer between 1 and 10:", random.randint(1, 10))
# 打乱列表顺序
items = ['apple', 'banana', 'cherry']
random.shuffle(items)
print("Shuffled list:", items)
# 随机选择一个元素
print("Random choice from list:", random.choice(items))
# 随机抽取两个元素
print("Random sample of size 2:", random.sample(items, 2))
```
阅读全文
相关推荐















