Random是Python的一个标准库,主要有三个功能生成随机数生成满足某种分布的序列
    ①生成简单随机数 ②进行随机排列 ③生成指定分布的随机数

    1.导入random模块

    1. >>> from random import *

    初始化随机数生成器
    seed(a=None, version=2):自定义随机数生成器的起始编号,将会返回相同值。
    参数:
    a:
    1. 如果省略该参数或者将其值设置为 None(默认),将使用当前系统时间作为随机数种子(如果操作系统提供了随机性来源,则用它来代替系统时间)
    2. 如果参数 a 为整数,则直接被用作随机数种子
    3. 该参数的值也可以是字符串、字节、字节数组等
    version:
    1. 如果 version=2(默认),字符串、字节或字节数组对象的每一个位都将比转换成整数使用
    2. version=1,用于从旧版本的 python 中复制随机序列,字符串和字节算法生成更窄的种子范围。

    1. >>> seed("CY")>>> random()0.9972980921581983>>> seed("CY")>>> random()0.9972980921581983

    2.生成随机数的常用函数

    1) float
    生成一个0到1的随机浮点数

    1. >>> random()

    在指定范围内随机生成一个浮点数,两个参数其中一个是上限,一个是下限。
    如果a > b,则生成的随机数n: b <= n <= a。
    如果 a uniform本质是均匀分布

    1. >>> uniform(10, 100)
    2. 72.12159071766115

    2) int
    生成的一个随机整数n( a <= n <= b)

    1. >>> randint(6,9
    2. 8

    randrange([start],stop[,step])
    此函数从指定范围内,按指定基数递增的集合中获取一个随机数。
    函数参数中,[]里的内容可以省。
    生成从10到20以内的某一个偶数,即是从[10,12,14,16,18]中随机抽一个数。

    1. >>> randrange(10,20,210

    3) sequence

    choice(sequence)
    参数sequence表示一个有序类型。泛指一系列的类型:list,tuple,字符串等,如果为空会报错。

    1. >>> choice("I love you!")'u'

    choices(sequence, weights=None, cum_weights=None, k=1)
    从参数列表中随机选择,weights可设置权重,提高选择机率;k返回的列表大小

    1. >>> mylist = ["apple", "banana", "cherry"]>>> random.choices(mylist, weights = [10, 1, 1], k = 4)['apple', 'apple', 'cherry', 'banana']>>> random.choices(mylist, weights = [10, 1, 1], k = 4)['cherry', 'apple', 'apple', 'apple']

    shuffle(sequence, function)
    把一个列表内元素的顺序打乱,列表的内存地址不变

    1. >>> mylist = ["apple", "banana", "cherry"]
    2. >>> id(mylist)
    3. 2743283117640
    4. >>> random.shuffle(mylist)
    5. >>> mylist['cherry', 'apple', 'banana']
    6. >>> id(mylist)
    7. 2743283117640

    sample(sequence, k)
    在序列sequence中取k个元素并随机排列。

    1. >>> random.sample(range(100), 3)[26, 9, 23]

    2、特定分布函数随机数
    1)正态分布

    1. >>> normalvariate(0,0.1)0.15171607814594112

    2)
    参考:
    研模时光
    https://fishc.com.cn/