python中random
模块是用来生成伪随机数的,其常用函数及示例如下:
实数相关的函数
random.random()
用于生成一个0到1区间的随机浮点数n,0.0 <= n < 1.0
random.uniform(a, b)
用于生成一个指定范围内的随机浮点数n,如果 a <= b,则a <= n <= b,如果b < a,则b <= n <= a
整数相关的函数
random.randrange
函数原型:
返回来自range(start, stop, step)
中的一个随机元素,等价于random.choice(range(start, stop, strp))
,但实际上并没有创建一个range对象。
random.randint(a, b)
用于生成一个指定范围内的整数n,a <= n <= b,等价于random.randrange(a, b+1)
。
序列相关的函数
random.choice(seq)
从序列中随机选取一个元素,如果序列为空,则抛出IndexError
异常。
random.shuffle(x[, random])
原地打乱一个序列(可变序列类型如列表),如果要打乱的是一个不可变序列类型如字符串、元组等,则要用random.sample(x, k=len(x))
创建一个新的打乱后的列表。
random.sample(population, k)
从序列或集合中返回指定长度的列表,不会改变原序列或原集合。
初始化随机数生成器
random.seed(a=None, version=2)
用来作为一个种子初始化随机数生成器,如果a被省略或是为None,则用当前的系统时间作为值。
之所以说radnom
模块是用来生成伪随机数,就是当初始化的种子相同时,则生成的随机数是相同的,同样随机序列也都是相同的。
第二次如果用相同的种子初始化随机数生成器,则相应的结果是不变的:
这就是random
模块伪随机数生成器的意思。