更多课程 选择中心


Python培训

400-111-8989

关于Python的随机数模块,你必须要掌握!

  • 发布:Python培训
  • 来源:清风Python
  • 时间:2019-08-08 15:32

面对现在各种的python3天入门、21天速成,等等的教程与素材,让很多人对python的基础知识,掌握的很薄弱。包括我身边的朋友,已经开始Django、Flask的web开发了,甚至对文件遍历还不慎了解。大家可能觉得,这个模块有啥说的,无非就是随机数么,但随机的方式却有很多,今天就跟大家总结下random这个常用的模块。

random函数总结

random作为python自带的模块,无需下载即可直接使用。import random导入该模块。

random

random.random()会生成一个[0,1)之间的随机数,如:0.21639729286525555。

randint

random.randint(start,end)随机生成一个范围内的整数。

random.randint(1,100) >>> 62

uniform

random.uniform(start,end)随机生成一个范围内的浮点数,起始与终止区间可以为小数

random.uniform(3.5,9.6) >>> 8.233366765359236

可迭代对象

python中万物皆对象,那么什么属于可迭代的对象呢?我们来举几个例子

list_a = [1, 2, 3]

dict_b = {“a”:1,”b”:2}

string_c = “abc”

char_d = ‘A’

int_e = 123

float_f =10.5

boolen_g = True

对于前两个,大家肯定知道是可迭代对象,但从第三个开始有些人就迷了…尤其char_d = 'A'这个,很多人都会觉得是不可迭代的,但其实不然,python中没有所谓的char和string的区别,只有字符串所以string_c和char_d都是可迭代的对象,如何验证?

from collections.abc import Iterable

char_c = 'A'

print(isinstance(char_c, Iterable))

>>> True

这里看到一点曾记否,我们引入Iterable使用的是from collections import Iterable什么时候出来了个abc?如果我们还是用老的方式导入,会给出提示:

DeprecationWarning: Using or importing the ABCs from ‘collections’ instead of 

from ‘collections.abc’ is deprecated, and in 3.8 it will stop working from collections import Iterable

所以有时候拥抱变化,也很重要!那么为什么突然插出一个Iterable的讲解呢?下面几个方法会用到…

choice & sample

刚才介绍可迭代对象就是为了讲解这两个random中使用最为普遍的函数。choice和sample之所以一起讲,是为了将二者对比记忆。

不管是random.choice还是random.sample,他们跟的必须是可迭代的对象。

choice我们可以理解为单选,而sample我们可以理解为自定义多选。举个栗子:

random.choice('abc')

>>> 'b'

random.choice([1,2,3,4,5])

>>> 2

random.sample('abc',2)

>>> ['b', 'c']

random.sample([1,2,3,4,5],3)

>>> [3, 5, 4]

# 但我们不可以这样

:random.choice(5)random.sample(10,1)

choice不容易出错,但sample大家需要注意:

sample既然是自定义多选,那么我们首先需要定义我们选择几个数值

sample在选择是,自定义的数值,不能大于可迭代对象的最大长度

sample选择后,返回列表类型,且列表为随机数。

shuffle

random.shuffle()这里需要注意,他只能针对list类型的数据,进行重新排序,这点一定要牢记,避免报错

list_a = ['a','b','c','d','e']

random.shuffle(list_a)

print(list_a)>>> ['b', 'e', 'c', 'a', 'd']

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:Python pass 语句
下一篇:Python 如何实时显示进度条?

2021年Python全套免费视频教程在哪里?

Python编程学习路线

Python最高有几级?

人工智能与语音遥控的区别?

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省