Python的random模块基于Mersenne Twister算法提供多种随机函数,适用于模拟、游戏等场景但不用于加密。1. random()生成[0.0,1.0)浮点数;2. uniform(a,b)返回a到b间浮点数;3. randint(a,b)返回a到b间整数(含端点);4. randrange(start,stop,step)从指定range中选整数;5. choice(seq)从序列中选一个元素;6. choices(population,weights,k)带权重可重复选取k个;7. sample(population,k)无重复抽取k个;8. shuffle(x)打乱列表顺序。使用seed()可复现实验结果,常用于测试。

Python 的 random 模块提供了多种生成随机数的函数,适用于不同场景下的随机操作。这些函数基于 Mersenne Twister 算法,是一种伪随机数生成器(PRNG),适合模拟、游戏、抽样等用途,但不适用于加密场景(应使用 secrets 模块)。
1. random.random()
返回一个在 [0.0, 1.0) 范围内的随机浮点数。示例:
import random print(random.random()) # 如:0.374540
2. random.uniform(a, b)
立即学习“Python免费学习笔记(深入)”;
返回 a 和 b 之间的随机浮点数(包含 a 和 b,取决于浮点精度)。示例:
print(random.uniform(1.5, 4.5)) # 如:3.2847
3. random.randint(a, b)
返回 a 和 b 之间的随机整数(包含 a 和 b)。示例:
print(random.randint(1, 10)) # 如:7
4. random.randrange(start, stop[, step])
从 range(start, stop, step) 中随机选择一个整数,常用于步长控制。示例:
print(random.randrange(0, 10, 2)) # 从 [0,2,4,6,8] 中选
5. random.choice(seq)
从非空序列中随机选择一个元素。示例:
fruits = ['apple', 'banana', 'cherry'] print(random.choice(fruits)) # 如:'banana'
6. random.choices(population, weights=None, k=1)
返回长度为 k 的列表,允许重复选择,可设置权重。示例:
print(random.choices(['a','b','c'], k=3)) # 如:['a','c','a']
7. random.sample(population, k)
从序列中无重复地随机选取 k 个元素,返回列表。示例:
numbers = list(range(10)) print(random.sample(numbers, 3)) # 如:[2, 7, 1]
8. random.shuffle(x)
将列表 x 中的元素就地打乱顺序。示例:
deck = ['A', 'B', 'C', 'D'] random.shuffle(deck) print(deck) # 如:['C', 'A', 'D', 'B']
使用 random.seed() 可以设定初始状态,使后续随机结果可复现。
示例:
random.seed(42) print(random.random()) # 每次运行都输出相同的序列
randint 或 choice
sample
choices 并传入 weights
seed()
基本上就这些,根据实际需求选择合适的方法即可。
以上就是python random中的随机函数的详细内容,更多请关注php中文网其它相关文章!
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号