本模块提供了生成要求安全度不高的随机数。假设须要更高安全的随机数产生。须要使用os.urandom()或者SystmeRandom模块。

random.seed(a=None, version=2)

初始化随机数据的种子数值。假设a是None值,会取採用当前系统时间作为种子值。假设a是一个int类型的值。则会直接使用。參数version是版本号兼容,假设为版本号2时,对于str。bytes。bytearray採用int类型返回;在版本号1时,採用hash()返回。

样例:

#python 3.4

from random import *

r = seed()

print(r)

r = random()

print(r)

r = random()

print(r)

结果输出例如以下:

None

0.25563594631743225

0.8596359931999921

random.getstate()

获取当前随机数的环境状态,以便下次再使用。

样例:

#python 3.4

from random import *

r = seed()

print(r)

r = getstate()

print(r)

结果输出例如以下:

None

(3, (2147483648, 1806585935, 2218797231, 963762379, 2448530300, 4223961651, 2167919184, 3727107355, 2403035413,

...

1296424577, 1100183651, 306611027, 444923926, 1168100930, 624), None)

random.setstate(state)

恢复上一次获取的状态,上次的状态使用getstate()来获取。

样例:

#python 3.4

from random import *

r = seed()

print(r)

r = getstate()

print(random())

setstate(r)

print(random())

结果输出例如以下:

None

0.38424833141530745

0.38424833141530745

random.getrandbits(k)

返回指定k位数的随机整数值。

样例:

#python 3.4

from random import *

r = seed()

r = getrandbits(4)

print(r)

r = getrandbits(4)

print(r)

结果输出例如以下:

4

9

random.randrange(stop)

random.randrange(start, stop[, step])

返回一个指定范围内的随机值。stop是最大值的整数边界。start是起始值。step是每一个值之间的间隔。返回的值大于等于start,小于stop。

样例:

#python 3.4

from random import *

r = seed()

r = randrange(5)

print(r)

r = randrange(0, 10, 2)

print(r)

结果输出例如以下:

2

8

random.randint(a, b)

返回一个整数,它的范围是a <= N <=b。

样例:

#python 3.4

from random import *

r = seed()

r = randint(1, 2)

print(r)

r = randint(1, 2)

print(r)

结果输出例如以下:

2

1

random.choice(seq)

从一个非空的序列里返回一个元素,假设为空的序列就抛出异常InexError。

样例:

#python 3.4

from random import *

r = seed()

r = choice(['a', 'b', 'c'])

print(r)

r = choice(['a', 'b', 'c'])

print(r)

结果输出例如以下:

c

a

random.shuffle(x[, random])

对序列x进行随机移动元素的位置。

可选參数random是一个返回随机浮点数[0.0, 1.0)之间的函数。

样例:

#python 3.4

from random import *

r = seed()

l = ['a', 'b', 'c', 'd']

print(l)

r = shuffle(l)

print(r, l)

结果输出例如以下:

['a', 'b', 'c', 'd']

None ['b', 'd', 'a', 'c']

random.sample(population, k)

从序列population里随机地返回k个元素的序列。

样例:

#python 3.4

from random import *

r = seed()

l = ['a', 'b', 'c', 'd']

print(l)

r = sample(l, 3)

print(r)

结果输出例如以下:

['a', 'b', 'c', 'd']

['c', 'a', 'b']

random.random()

返回范围在[0.0, 1.0)之间的随机浮点数。

样例:

#python 3.4

from random import *

r = seed()

r = random()

print(r)

结果输出例如以下:

0.3916060348292988

random.uniform(a, b)

在a和b区间返回一个随机浮点数。假设a <= b则返回  a <= N <= b。假设 b < a则返回b <= N <= a。

样例:

#python 3.4

from random import *

r = seed()

r = uniform(1.0, 2.5)

print(r)

r = uniform(8.0, 2.5)

print(r)

结果输出例如以下:

1.6498941793878243

4.22188785768826

random.triangular(low, high, mode)

返回三角形分布的随机数, low <= N <= high。參数mode指明众数出现位置。

样例:

#python 3.4

from random import *

r = seed()

r = triangular(-3, 8, 0.8)

print(r)

r = triangular(-3, 8, 10)

print(r)

结果输出例如以下:

1.5058316902823226

0.27606363975774073

random.betavariate(alpha, beta)

返回 beta分布的随机数,參数alpha是大于0的值,參数beta是大于0的值。返回值的区间在0和1之间。

样例:

#python 3.4

from random import *

r = seed()

r = betavariate(1, 2)

print(r)

r = betavariate(1, 2)

print(r)

结果输出例如以下:

0.11852634010531515

0.029427309916706654

random.expovariate(lambd)

返回指数分布的随机数。

參数lambd是正值。刚从0到正无限大的值。參数lambd是负值。则返回负无穷大到0的值。

样例:

#python 3.4

from random import *

r = seed()

r = expovariate(1)

print(r)

r = expovariate(-3)

print(r)

结果输出例如以下:

0.2003044059401706

-0.1785055187658876

random.gammavariate(alpha, beta)

伽玛分布的随机数。

x ** (alpha - 1) * math.exp(-x / beta)

pdf(x) =  --------------------------------------

math.gamma(alpha) * beta ** alpha

样例:

#python 3.4

from random import *

r = seed()

r = gammavariate(1, 2)

print(r)

r = gammavariate(1, 2)

print(r)

结果输出例如以下:

0.5413328891492575

4.139239480698503

random.gauss(mu, sigma)

返回高斯分布的随机数。

參数mu是一个平均数,sigma是绝对偏差。

样例:

#python 3.4

from random import *

r = seed()

r = gauss(1, 2)

print(r)

r = gauss(1, 2)

print(r)

结果输出例如以下:

2.8846358328647543

-0.7848726717436769

random.lognormvariate(mu, sigma)

对数分布的随机数。mu是一个平均数,sigma是一个绝对偏差。

样例:

#python 3.4

from random import *

r = seed()

r = lognormvariate(1, 2)

print(r)

r = lognormvariate(1, 2)

print(r)

结果输出例如以下:

3.4904102483152704

1.7560462679767879

random.normalvariate(mu, sigma)

正态分布的随机数。參数mu是一个平均数。sigma是标准方差。

样例:

#python 3.4

from random import *

r = seed()

r = normalvariate(1, 2)

print(r)

r = normalvariate(1, 2)

print(r)

结果输出例如以下:

1.7317832780485172

2.1163922446170247

random.vonmisesvariate(mu, kappa)

返回冯米塞斯分布的随机数。參数mu是平均角度,使用弧度表示,范围在0到2*pi之间。

參数kappa是集中程度參数。是一个大于等于0的值。

样例:

#python 3.4

from random import *

r = seed()

r = vonmisesvariate(1, 2)

print(r)

r = vonmisesvariate(1, 2)

print(r)

结果输出例如以下:

0.9831582967095295

2.3340486646429404

random.paretovariate(alpha)

返回帕累托分布的随机数。參数alpha是一个模型參数。

样例:

#python 3.4

from random import *

r = seed()

r = paretovariate(2)

print(r)

r = paretovariate(2)

print(r)

结果输出例如以下:

1.1031942255648155

2.3128974772541597

random.weibullvariate(alpha, beta)

返回韦伯分布的随机数。參数alpha是缩放系统,參数beta是模型參数。

样例:

#python 3.4

from random import *

r = seed()

r = weibullvariate(2, 1)

print(r)

r = weibullvariate(2, 1)

print(r)

结果输出例如以下:

1.1790484913990984

5.519287151687428

class random.SystemRandom([seed])

使用操作系统底层产生随机数,可是不是全部系统平台都是可用的。

样例:

#python 3.4

from random import *

r = SystemRandom()

print(r)

print(r.random())

结果输出例如以下:

<random.SystemRandom object at 0x03180070>

0.466491601955791

蔡军生  QQ:9073204 深圳

6.6 random--伪随机数的生成的更多相关文章

  1. random——伪随机数生成模块

    random——伪随机数生成模块 转自:https://blog.csdn.net/zhtysw/article/details/79978197 该模块包含构造伪随机数生成器的多个方法.对于整数,伪 ...

  2. C语言伪随机数的生成

    在stdlib.h中,有两个函数与伪随机数的生成有关:srand和rand.C语言中,随机数表有很多列,srand函数是根据其参数(unsigned类型)来获得一个种子(seed),根据种子来设置从哪 ...

  3. 【转载】C#使用Random类来生成指定范围内的随机数

    C#的程序应用的开发中,可以使用Random随机数类的对象来生成相应的随机数,通过Random随机数对象生成随机数的时候,支持设置随机数的最小值和最大值,例如可以指定生成1到1000范围内的随机数.R ...

  4. numpy伪随机数的生成

    numpy伪随机数的生成 normal函数 可以用normal来得到一个标准正态分布的4×4样本数组 >>> import numpy as np >>> samp ...

  5. python的random模块(生成验证码)

    python的random模块(生成验证码) random模块常用方法 random.random() #生成0到1之间的随机数,没有参数,float类型 random.randint(1, 3) # ...

  6. 生成随机数的几种方法、Math.random()随机数的生成、Random()的使用

    第一种方法使用:System.currentTimeMillis(); final long l = System.currentTimeMillis(); final int rs = (int) ...

  7. Java利用Math.random()方法随机生成A-Z的字符

    package reverse; import java.text.DecimalFormat; public class Reverse { public static void main(Stri ...

  8. random模块,生成随机数

    1.random.choice(sep) 从一个序列中随机选取一个元素返回 >>> list1=["a",1,2,3,"b"] >> ...

  9. js中Math.random()生成指定范围数值的随机数

    http://www.111cn.net/wy/js-ajax/57062.htm Math.random() 这个方法相信大家都知道,是用来生成随机数的.不过一般的参考手册时却没有说明如何用这个方法 ...

  10. [转载]C# Random 生成不重复随机数

    Random 类 命名空间:System 表示伪随机数生成器,一种能够产生满足某些随机性统计要求的数字序列的设备. 伪随机数是以相同的概率从一组有限的数字中选取的.所选数字并不具有完全的随机性,因为它 ...

随机推荐

  1. System.err与System.out的区别

    大多数操作系统都有三个标准文件描述符:标准输入,标准输出,标准出错. 三个操作系统的文件描述符映射到编程语言的标准库中,往往加了一层包装,但是名字通常还是叫标准输入,标准输出,标准出错. 在其它语言中 ...

  2. Masonry基础API

    Masonry基础API mas_makeConstraints()    添加约束 mas_remakeConstraints()  移除之前的约束,重新添加新的约束 mas_updateConst ...

  3. Windows提高_1.4进程通信

    进程通信 使用 WM_COPYDATA 客户端(发送端) // 1. 找到窗口程序 HWND hWnd = FindWindow(NULL, L"Window1"); ​ // 2 ...

  4. eclipse配置Tomcat服务器server locations的方法

    最近放弃了使用Myeclipse,转而使用eclipse作为开发工具,确实Myeclipse集成了太多东西,使得开发人员的配置越来越少,这不是个好事,使用eclipse后,有些地方就得自己去配置,比如 ...

  5. Luogu P1349 广义斐波那契数列

    解题思路 既然广义斐波那契,而且数据范围这么大,那么我们使用矩阵快速幂来进行求解.大家都知道斐波那契的初始矩阵如下 $$\begin{bmatrix}1&1\\1&0\end{bmat ...

  6. C++/C union使用记一下锅

    //首先,学习编程一定要记得加几个群或者加几个讨论组,因为这样你才能不断地进步还有吵架/滑稽 记一下 关于使用union结构体时遇到的一些坑 To zero-initialize an object ...

  7. MyBatis 中 resultMap 详解

    resultMap 是 Mybatis 最强大的元素之一,它可以将查询到的复杂数据(比如查询到几个表中数据)映射到一个结果集当中.如在实际应用中,有一个表为(用户角色表),通过查询用户表信息展示页面, ...

  8. keepalived(nginx的高可用)安装文档

    1. 安装环境 su - root yum -y install kernel-devel* yum -y install openssl-* yum -y install popt-devel yu ...

  9. vue中路由

    关于每次点击链接都要刷新页面的问题众所周知,开发单页应用就是因为那丝般顺滑的体验效果,如果每次点击都会刷新页面… 出现这个的原因是因为使用了window.location来跳转,只需要使用使用rout ...

  10. C,LINUX,数据结构部分

    1604期 第1期测试(面试精选:C,LINUX,数据结构部分) 本试卷从考试酷examcoo网站导出,文件格式为mht,请用WORD/WPS打开,并另存为doc/docx格式后再使用 试卷编号:24 ...