Python运算(四)random模块&secrets模块

本文介绍了Python的random模块,包括Bookkeeping函数、整数和序列随机函数、分布函数以及替代随机生成器,强调了随机序列的重现问题。此外,文章还探讨了secrets模块,用于生成加密级别的随机数,如生成tokens并解决字节长度问题,以及提供安全的字节比较功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

random模块

random模块实现了这种分布的伪随机数生成器,随机数可以被应用于数学、安全等领域,并且也经常被嵌入算法中,用以提高算法效率,在机器学习算法中对随机数的设定是必要的一步,并且随机数的设定会影响算法的好坏。

random模块提供的函数是基于random.Random类的隐藏实例的绑定方法,几乎所有模块函数都依赖于基本函数random()random()函数在半开放区间[0.0, 1.0)内均匀生成随机浮点数。用Randon类作为子类,重写 random() 、 seed() 、 getstate() 以及 setstate() 方法可以自己设计不同随机生成器。

random针对整数,范围有统一的选择;针对序列,随机元素统一选择、存在用于生成列表的随机排列函数,以及用于随机抽样而无需替换的函数;针对实数轴,有计算均匀、正态(高斯)、对数正态、负指数、伽马和贝塔分布的函数,生成角度分布,可以使用von Mises分布。

Bookkeeping 函数

函数 释义
random.seed(a=None, version=2) 初始化随机数生成器,如果a被省略为或为None,则使用当前系统时间。如果提供随机源,则使用提供的随机源,如果a是int类型,则直接使用。
random.getstate() 捕获随机生成器当前内部状态的对象,可以将该对象传递给setstate()来恢复状态
random.setstate(state) state是调用getstate()获得,并且setstate()将生成器的内部状态恢复到getstate()被调用时候的状态
random.getrandbits(k) 返回带有K位随机的Python整数,此方法随MersenneTwister生成器一起提供其他一些生成器也可以将其作为API的可选部分提供(注:Python 使用 Mersenne Twister 作为核心生成器。 它产生 53 位精度浮点数,周期为 2**19937-1)。

整数随机函数

函数 释义
random.randrange(stop) 返回不高于stop的一个随机数
random.randrange(start, stop, step) 从 range(start, stop, step) 返回一个随机选择的元素,相当于 choice(range(start, stop, step)) ,但实际上并没有构建一个 range 对象,在 3.2 版更改: randrange() 在生成均匀分布的值方面更为复杂
random.randint
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值