17. Python 标准库之 random 函数用法
随机数在生活和编程中应用广泛,Python 内置的random标准库是生成各类随机数的常用工具。本文详细介绍了该库中六大核心函数,逐一讲解各自功能、取值范围与使用示例,同时解释了随机数种子的作用与特性,帮助大家全面掌握不同随机数、序列操作的实现方法。
random库是用于生成随机数的 Python 标准库,random 库提供如下函数:
| 函数 | 功能 |
|---|---|
| random() | 生成一个 [0.0, 1.0) 之间的随机小数 |
| seed(seed) | 初始化给定的随机数种子 |
| randint(a, b) | 生成一个 [a, b] 之间的随机整数 |
| uniform(a, b) | 生成一个 [a, b] 之间的随机小数 |
| choice(seq) | 从序列 seq 中随机选择一个元素 |
| shuffle(seq) | 将序列 seq 中元素随机排列, 返回打乱后的序列 |
1. random.random()
random.random()的功能是生成一个 [0.0, 1.0) 之间的随机小数,示例如下:
>>> import random >>> random.random() 0.02834747652200631 >>> random.random() 0.8357651039198697 >>> random.random() 0.43276706790505337
- 调用 3 次
random.random(),产生 3 个不同的数; - 每次产生的数都是在 [0.0, 1.0) 之间。
2. random.seed(seed)
计算机使用确定性的算法计算出一个随机数序列。计算机产生的随机数并不真正的随机,但具有类似于随机数的统计特征,如均匀性、独立性等。
计算机根据随机数种子产生随机数序列,如果随机数种子相同,每次产生的随机数序列是相同的;如果随机数种子不同,产生的随机数序列是不同的。
random.seed(seed)的功能是初始化给定的随机数种子,示例如下:
>>> import random >>> random.seed(10) >>> random.randint(0, 100) 73 >>> random.randint(0, 100) 4 >>> random.randint(0, 100) 54 >>> random.seed(10) >>> random.randint(0, 100) 73 >>> random.randint(0, 100) 4 >>> random.randint(0, 100) 54
- 在第 2 行,设定种子为 10
- 在第 4 行,产生第 1 个随机数 73
- 在第 6 行,产生第 2 个随机数 4
- 在第 8 行,产生第 3 个随机数 54
- 在第 9 行,设定种子为 10
- 在第 11 行,产生第 1 个随机数 73
- 在第 13 行,产生第 2 个随机数 4
- 在第 15 行,产生第 3 个随机数 54
- 可以看出,当种子相同时,产生的随机数序列是相同的
3. random.randint(a, b)
random.randint(a, b)的功能是生成一个 [a, b] 之间的随机整数,示例如下:
>>> import random >>> random.randint(0, 2) 1 >>> random.randint(0, 2) 0 >>> random.randint(0, 2) 1 >>> random.randint(0, 2) 2
在例子中,randint(0, 2)产生 [0, 2] 之间的随机整数。
4. random.uniform(a, b)
random.uniform(a, b)的功能是生成一个 [a, b] 之间的随机小数,示例如下:
>>> import random >>> random.uniform(0, 2) 0.20000054219225438 >>> random.uniform(0, 2) 1.4472780206791538 >>> random.uniform(0, 2) 0.5927807855738692
在例子中,uniform(0, 2)产生 [0, 2] 之间的随机小数。
5. random.choice(seq)
random.choice(seq)的功能是从序列 seq 中随机选择一个元素,示例如下:
>>> import random >>> seq = [1, 2, 3, 4] >>> random.choice(seq) 3 >>> random.choice(seq) 1
- 在第 4 行,第一次随机选择元素 3;
- 在第 6 行,第一次随机选择元素 1。
6. random.shuffle(seq)
random.shuffle(seq)的功能是将序列 seq 中元素随机排列, 返回打乱后的序列,示例如下:
>>> import random >>> seq = [1, 2, 3, 4] >>> random.shuffle(seq) >>> seq [1, 3, 2, 4]
- 在第 2 行,建立一个有序列表;
- 在第 3 行,使用 shuffle 将原来的有序列表重新随机排序。
以上便是 Python random库常用函数的完整用法,涵盖随机小数、整数生成,随机种子设置,以及序列选取、乱序等功能。计算机生成的是伪随机数,种子一致则随机序列完全相同。熟练运用这些函数,就能满足日常开发里绝大多数随机数相关的编程需求。
以上关于17. Python 标准库之 random 函数用法的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 17. Python 标准库之 random 函数用法
微信
支付宝