python中random.函数
时间: 2025-05-29 18:49:39 浏览: 25
### Python 中 `random` 模块的函数用法
#### 1. 基本概念
在 Python 中,`random` 模块提供了多种生成随机数的功能。这些功能广泛应用于模拟、游戏开发和其他需要随机性的场景。为了使用该模块中的任何函数,必须先通过 `import random` 导入模块。
---
#### 2. 主要函数及其用法
##### (1)`random.random()`
此函数返回一个介于 `[0, 1)` 范围内的浮点数[^3]。
```python
import random
print(random.random()) # 输出类似于 0.789 的浮点数
```
##### (2)`random.randint(a, b)`
此函数返回一个位于区间 `[a, b]`(包括两端点)的随机整数。
```python
print(random.randint(1, 10)) # 可能输出 5 或其他 1 到 10 之间的整数
```
##### (3)`random.randrange(start, stop[, step])`
此函数从指定范围内按步长选取一个随机数。如果只提供两个参数,则默认步长为 1[^3]。
```python
print(random.randrange(0, 101, 2)) # 随机选择 0 至 100 间的偶数
```
##### (4)`random.choice(seq)`
从非空序列 `seq` 中随机挑选一个元素[^4]。
```python
my_list = ['apple', 'banana', 'cherry']
print(random.choice(my_list)) # 可能输出 'banana'
```
##### (5)`random.choices(population, weights=None, *, cum_weights=None, k=1)`
允许带权重的选择多个项目。如果没有设置权重,默认均匀分布[^4]。
```python
fruits = ['apple', 'orange', 'pineapple']
weights = [10, 1, 1]
result = random.choices(fruits, weights=weights, k=5)
print(result) # 如:['apple', 'apple', 'orange', 'apple', 'pineapple']
```
##### (6)`random.shuffle(x[, random])`
就地打乱可变序列 `x` 的顺序。
```python
deck = ['Ace', 'King', 'Queen', 'Jack']
random.shuffle(deck)
print(deck) # 打印洗牌后的列表,例如 ['Queen', 'Ace', 'Jack', 'King']
```
##### (7)`random.sample(population, k)`
从总体 `population` 中抽取不重复的 `k` 个样本[^4]。
```python
numbers = range(1, 101)
sampled_numbers = random.sample(numbers, 10)
print(sampled_numbers) # 返回长度为 10 的唯一数字集合
```
##### (8)`random.uniform(a, b)`
生成一个介于 `[a, b]` 或 `(b, a]` 的随机浮点数[^3]。
```python
print(random.uniform(1.5, 10.5)) # 输出如 6.234
```
##### (9)`random.gauss(mu, sigma)` 和 `random.normalvariate(mu, sigma)`
分别基于高斯分布和正态分布生成随机数。
```python
gaussian_random = random.gauss(0, 1)
normal_random = random.normalvariate(0, 1)
print(gaussian_random, normal_random)
```
##### (10)`random.seed(a=None, version=2)`
初始化伪随机数生成器的状态。如果不传递参数,则通常会根据系统时间自动播种[^5]。
```python
random.seed(10)
print(random.random())
random.seed(10)
print(random.random()) # 同样种子下两次运行结果一致
```
---
### 总结
以上列举了 `random` 模块中一些常用的方法及其基本用途。每种方法都有其特定的应用场合,在实际编程过程中可以根据需求灵活选用合适的工具来实现目标。
阅读全文
相关推荐

















