python常用库之random

一笑奈何 提交于 2020-02-22 16:01:12

random是内建(built-in)函数,作用是产生随机数,使用较多.

1.导入模块

首先是导入模块:

import random

接着就可以调用random模块下的函数了,例如:

random.randint(1,100)

语句的含义是产生1至100(包含1与100)的一个随机数。

也可以:   from random import randint #直接导入randint函数

还可以改名呢:   from random import randint as ra_int

就可以直接调用ra_int函数了,适用于名字较长的函数,写代码时方便。

2.random模块下函数

使用 dir(random)可以查看random模块下有哪些函数,结果如下:

['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', 'WichmannHill', '_BuiltinMethodType', '_MethodType', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '_acos', '_ceil', '_cos', '_e', '_exp', '_hashlib', '_hexlify', '_inst', '_log', '_pi', '_random', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'division', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'jumpahead', 'lognormvariate', 'normalvariate', 'paretovariate', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']

3.最常用的函数有如下:

(1)生成一个0到1之间的随机浮点数,包括0但不包括1,也就是[0.0, 1.0)。

random.random()

(2)生成a、b之间的随机浮点数。不过与randint不同的是,a、b无需是整数,也不用考虑大小。

random.uniform(a, b)

(3)从序列中随机选取一个元素。seq需要是一个序列,比如list、元组、字符串。

random.choice(seq)

例:

random.choice([1, 2, 3, 5, 8, 13]) #list

random.choice('hello') #字符串

random.choice(['hello', 'world']) #字符串组成的list

random.choice((1, 2, 3)) #元组

都是可行的用法。

(4)生成一个从start到stop(不包括stop),间隔为step的一个随机数。start、stop、step都要为整数,且start<stop。

random.randrange(start, stop, step)

(5)从population序列中,随机获取k个元素,生成一个新序列。sample不改变原来序列。

random.sample(population, k)

(6)把序列x中的元素顺序打乱。shuffle直接改变原有的序列。

random.shuffle(x)

(7) seed()方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数, 注意其实是伪随机数,只要初始值一样,得到的结果会是一样的,在python中,默认用系统时间作为seed。你也可以手动调用random.seed(x)来指定seed。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!