Python基础随机数库——random
(1).介绍
Random库Python中用于生成随机数的一个标准库。计算机没有办法产生真正的随机数,但它可以产生伪随机数。
伪随机数是计算机按照一定的运算规则产生的一些数据,只不过这些数据表现为随机数的形式。计算机中采用梅森旋转算法生成为随机序列,序列中的每一个元素就是伪随机数,由于计算机不能产生真正的随机数,所以伪随机数也就被称为随机数。
Random库包含两类函数,常用的有8个:
基本随机函数:seed(),random()
扩展随机函数:randint(),getrandbits(),uniform(),randrange(),choice(),shuffle()
(2).基本随机数函数
Python中的随机数使用随机数种子来产生,随机数种子通过梅森旋转算法产生随机序列,这个随机序列是唯一并且确定的,随机序列中的每一个数就是随机数。换句话说,只要随机数种子相同,那么产生的随机序列无论是每一个数,还是数之间的关系都是相同的。
函数 | 描述 |
seed(a=None) | 初始化给定的随机数种子,默认为当前时间 |
random() |
生成一个[0.0,1.0)之间的随机小数(大于等于0,小于1)。 根据随机数种子产生随机序列,产生后第一次调用该函数,则返回序列的第0个元素; 第二次调用,则返回序列的第1个元素......以此类推。 |
实例1:使用默认的随机数种子产生随机数
1 2 3 4 5 6 7 8 9 10 11 | >>> import random >>> random.seed() >>> random.random() 0.4583742792868192 >>> random.random() 0.9905749191276231 >>> random.seed() >>> random.random() 0.8846207230562237 >>> random.random() 0.13447072126096293 |
实例2:使用固定的随机数种子产生随机数
1 2 3 4 5 6 7 8 9 10 11 | >>> import random >>> random.seed( 10 ) >>> random.random() 0.5714025946899135 >>> random.random() 0.4288890546751146 >>> random.seed( 10 ) >>> random.random() 0.5714025946899135 >>> random.random() 0.4288890546751146 |
(3).扩展随机数函数
函数 | 描述 |
randint(a,b) |
生成一个[a,b]之间的随机整数(大于等于a,小于等于b)。例如: >>> import random |
randrange(m,n[,k]) |
生成一个[m,n)之间以k为步长的随机整数(大于等于m,小于n)。例如: >>> import random |
getrandbits(k) |
生成一个长度为k的二进制随机整数。例如: >>> import random |
uniform(a,b) |
生成一个[a,b]之间的随机小数(大于等于a,小于等于b)。例如: >>> import random |
choice(seq) |
从序列seq中随机选择一个元素。例如: >>> import random |
shuffle(seq) |
将变量序列seq中元素随机排序,并返回给序列的变量。例如: >>> import random |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性