random库是使用随机数的Python标准库

从概率论角度来说,随机数是随机产生的数据(比如抛硬币),但时计算机是不可能产生随机值,真正的随机数也是在特定条件下产生的确定值,只不过这些条件我们没有理解,或者超出了我们的理解范围。计算机不能产生真正的随机数,那么伪随机数也就被称为随机数

--伪随机数:计算机中通过采用梅森旋转算法生成的(伪)随机序列元素

python中用于生成伪随机数的函数库是random

因为是标准库,使用时候只需要import random

random库包含两类函数,常用的共8个

--基本随机函数: seed(), random()

--扩展随机函数:randint(), getrandbits(), uniform(), randrange(), choice(), shuffle()

基本随机数

Python中产生随机数使用随机数种子来产生      (只要种子相同,产生的随机序列,无论是每一个数,还是数与数之间的关系都是确定的,所以随机数种子确定了随机序列的产生)

随机数种子       梅森旋转算法    随机序列

10                                                0.5714025946899135

随机序列中的每一个数就是随机数

基本随机函数 
函数

描述

  seed(a=None)

初始化给定的随机数种子,默认为当前系统时间

>>>random.seed(10)     #产生种子10对应的序列

 random()

生成一个[0.0,1.0)之间的随机小数

>>>random.random()

0.5714025946899135            #随机数产生与种子有关,如果种子是1哦,第一个数必定是这个

使用随机数种子的好处是可以复现有随机数的程序

扩展随机数函数

在random库中,最基本的是seed 和random 函数,但时功能比较单一,为此产生了6个扩展随机数函数

扩展随机数函数
函数 描述
 randint(a,b)

生成一个[a,b]之间的整数

>>>random.randint(10,100)

 randrange(m,n[,k])

生成一个[m,n)之间以k为步长的随机整数

>>>random.randrange(10,100,10)

 getrandbits(k)

生成一个k比特长的随机整数

>>>random.getrandbits(16)

37885

 uniform(a,b)

生成一个[a,b]之间的随机小数

>>>random.uniform(10,100)

16.848041210321334

choice(seq)

序列相关

从序列中随机选择一个元素

>>>random.choice([1, 2, 3, 4, 5, 6, 7, 8, 9])

8

shuffle(seq)

序列相关

将序列seq中元素随机排列,返回打乱后的序列

>>>s=[1, 2, 3, 4, 5, 6, 7, 8, 9]; random.shuffle(s); print(s)

[9, 4, 6, 3, 5, 2, 8, 7, 1]

随机数函数的使用要点:

--能够利用随机数种子产生“确定”伪随机数   seed生成种子,random函数产生随机数

--能够产生随机整数

--能对序列类型进行随机操作

转载于:https://www.cnblogs.com/masked/p/8846439.html

Python__random库基本介绍相关推荐

  1. C++各大有名库的介绍之C++标准库

    C++各大有名库的介绍之C++标准库 标准库中提供了C++程序的基本设施.虽然C++标准库随着C++标准折腾了许多年,直到标准的出台才正式定型,但是在标准库的实现上却很令人欣慰得看到多种实现,并且已被 ...

  2. Android之Google推荐的图片加载库Glide介绍

    原文链接:Google推荐的图片加载库Glide介绍 作者 : nuuneoi 译者 : jianghejie 校对者 :

  3. 数据分析与挖掘中常用Python库的介绍与实践案例

    数据分析与挖掘中常用Python库的介绍与实践案例 一.Python介绍 现在python一词对我们来说并不陌生,尤其是在学术圈,它的影响力远超其它任何一种编程语言, 作为一门简单易学且功能强大的编程 ...

  4. matlab图片导出无失真库export_fig介绍(半透明效果)

    matlab图片导出无失真半透明等功能的库export_fig介绍 首先,感谢export_fig的作者Yair Altman为相关方面做了很多介绍,本文主要结合新版本matlab,对作者的内容进行搬 ...

  5. C++各大有名库的介绍(一)

    C++各大有名库的介绍之C++标准库 标准库中提供了C++程序的基本设施.虽然C++标准库随着C++标准折腾了许多年,直到标准的出台才正式定型,但是在标准库的实现上却很令人欣慰得看到多种实现,并且已被 ...

  6. 各大有名库的介绍(转)

    各大有名库的介绍 转载自: www.csdn.net 在C++中,库的地位是非常高的.C++之父 Bjarne Stroustrup先生多次表示了设计库来扩充功能要好过 设计更多的语法的言论.现实中, ...

  7. Python jieba库的介绍与使用

    Python jieba库的介绍与使用 一. jieba库简介与安装 简介:jieba库是一个进行中文分词的第三方库.可用来进行关键字搜索. 安装:在python3环境下输入:pip install ...

  8. easyx库的介绍与使用

    easyx库的介绍与使用 简单介绍 下载安装 注意事项 1.创建一个窗口(initgraph) 2.图形绘制 画圆(circle,solidcircle) 画线条(line) 画矩形(rectangl ...

  9. Revit中模型文字的放置和族库工具介绍

    一.Revit中模型文字的放置 模型文字一般放置在构件表面,因此我们在放置模型文字的时候一定要注意先设置工作平面这样的话会让模型文字更容易放凰而且定位较准. 1.工作平面的设定 2.拾取工作平面,将鼠 ...

最新文章

  1. 运维人员究竟如何提升价值,持续获得高薪?
  2. rabbitmq 取消消息_SpringBoot整合RabbitMQ实现延迟消息
  3. scp 上传文件到服务器
  4. python分析nginx日志_利用python分析nginx日志
  5. 亚马逊RDS使用的第三方扩展有漏洞,可导致内部凭据遭泄露
  6. python函数可以改变哪种数据类型的实参_表达式1+2*3.140的结果类型是():_学小易找答案...
  7. Java EE Servlet 几个path
  8. 第k小元素——分治法
  9. 安徽工业大学java实验报告_安徽工业大学java实验报告.doc
  10. app漏洞扫描原理_绿盟--漏洞扫描系统NSFOCUS RSAS-S-v5.0
  11. linux QT 结束当前进程_Qt与Web混合开发(一)--简单使用
  12. 关于高速光耦6n137的使用总结_高速光耦6n137典型应用电路图汇总(多谐振荡/光电隔离器/光耦开关) - 全文...
  13. php数据group去重,MongoDB_Mongodb聚合函数count、distinct、group如何实现数据聚合操作, 上篇文章给大家介绍了Mong - phpStudy...
  14. python求解不等式组可行域_二元一次不等式(组)和可行域
  15. 牛客网Java选择题练习
  16. VMware vSphere 服务器虚拟化部署安装图解
  17. C#开发语音程序入门之文字朗读
  18. hiredis初步使用
  19. 子、辰、卯、酉、午、辰时是几点到几点钟「知识普及」
  20. 软工大作业·历物语(二)

热门文章

  1. 威宝推出支持四接口的桌面硬盘新品
  2. nodemailer实现node发送邮件
  3. 用R语言分析我的fitbit计步数据
  4. 对 Entity 的初步构思
  5. ie8下ewebeditor无效的解决办法
  6. Visual Studio 2005 Service Pack 1 正式版发布
  7. 这个高度站立办公十分的棒
  8. C++ 类模板中友元函数问题
  9. solaris查看主机信息
  10. Linux内核最新的连续内存分配器(CMA)——避免预留大块内存【转】