Python random模块用法整理_python 继承random

  • 伪随机性:Python 使用 random 模块生成各种分布的伪随机数。计算机生成的随机数都是伪随机数,它们是由确定性算法生成的,只是看起来像随机。如果需要高度的随机性,需要额外的随机源。
  • 不同类型的随机性:在模拟、密码学等场景中,需要注意不同类型的随机性需求。如果前往 Python 文档以获取此模块的文档,将会看到一条警告:

在这里插入图片描述
显然,random 模块只适用于一般的随机数需求。random 模块使用 Mersenne Twister 算法来生成随机数。但是这种算法是完全确定性的,而对于密码学等需要高强度随机性的场景,应该使用 secrets 模块。

Python random 模块的内置函数

下面是 random 模块下的各种内置函数。这些函数能够在不同场景下生成伪随机数:

在这里插入图片描述
下面的列表包含了上述随机数生成函数的简要说明:

函数名描述
randint(a, b)生成一个位于 [a, b] 范围内的随机整数
randrange(start, stop, step)生成一个以 step 递增的整数序列中的随机元素
random()生成一个位于 [0.0, 1.0) 范围内的随机浮点数
uniform(a, b)生成一个位于 [a, b) 范围内的随机浮点数
gauss(mu, sigma)生成一个符合高斯分布的随机浮点数,均值为 mu,标准差为 sigma
sample(population, k)population 序列中随机选择 k 个元素,不重复
choice(sequence)从序列中随机选择一个元素
shuffle(sequence)随机打乱序列中的元素顺序
seed(a=None)初始化随机数生成器的种子,用于重现随机序列

下面是这些函数的更详细介绍及示例。

randint()

此函数生成指定范围之间的整数。它接受两个参数

x

x

x 和

y

y

y 并生成整数

i

i

i,使得

x

<

=

i

<

=

y

x <= i <= y

x<=i<=y。

import random

a = random.randint(3, 6)
print(a)	# 输出:3

randrange()

该函数生成一个以 step 为步长的整数序列中的随机元素。startstop 是范围,取值范围是 [start, stop)。若省略 step 参数,默认为 1。

import random

a = random.randrange(1, 10, 2)
print(a)	# 输出:7

random()

该函数生成一个位于 [0.0, 1.0) 范围内的随机浮点数。所有数字在这个范围内的概率是相等的。

import random

a = random.random()
print(a)	# 输出:0.6427979778735594

uniform()

该函数生成一个位于 [a, b) 范围内的随机浮点数。类似于random(),但可以指定范围。

import random

a = random.uniform(3, 6)
print(a)	# 输出:3.512451152441262

gauss(mu, sigma)

该函数生成一个符合高斯分布(也称为正态分布)的随机浮点数。mu 是均值,sigma 是标准差,控制分布的形状。

import random

a = random.gauss(3, 0.5)
print(a)	# 输出:2.9743970359818612

sample()

如果想要一个序列中的多个随机元素,可以使用 sample()。它需要两个参数 populationk,其中 population 是一个序列,k 是一个整数。然后,该函数从 population 序列中随机选择 k 个元素,并以列表形式返回。选择不重复。

import random

seq = (12, 33, 67, 55, 78, 90, 34, 67, 88)
a = random.sample(seq, 5)
print(a)	# 输出:[88, 78, 67, 34, 33]

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值