美文网首页开发相关知识
random模块中的方法介绍

random模块中的方法介绍

作者: 暖A暖 | 来源:发表于2019-08-12 14:29 被阅读16次

    random是Python中的一个内置模块,用于生成随机数。

    seed()方法

    seed()方法用于初始化随机数生成器。

    语法: random.seed(a=None, version=2)
    
    • a:可选参数,如果是整数则直接使用,否则必须转为整数。如果没有值则使用当前系统时间。
    • version:默认值为2,指定如何将参数转换为整数。
    示例:
    import random
    
    random.seed()
    print(random.random())  
    
    random.seed(7)
    print(random.random())   
    

    getstate()方法

    返回捕获生成器当前内部状态的对象。这个对象可以传递给setstate()来恢复状态。

    语法: random.getstate()
    
    示例:
    import random
    
    print(random.getstate())    
    

    setstate()方法

    setstate()方法恢复随机数生成器的内部状态。状态是在getstate()方法获得的。

    语法: random.setstate(state)
    
    • state:状态对象。
    示例
    import random
    
    print(random.random())  
    
    state = random.getstate()
    print(random.random())  
    
    random.setstate(state)
    print(random.random())  
    

    getrandbits()方法

    getrandbits()方法返回指定大小的整数。

    语法: random.getrandbits(n)
    
    • n:指定返回整数的大小的数字。
    示例:
    import random
    
    print(random.getrandbits(3)) # 5,随机
    

    randrange()方法

    randrange()方法返回指定范围内随机选择的元素。

    语法: random.randrange(start, stop, step)
    
    • start:指定起始位置的整数。
    • stop:指定结束位置的整数。
    • step:指定递增的整数。
    示例:
    import random
    print(random.randrange(1, 5, 2))
    
    print(random.randrange(2, 8, 3))
    

    randint()方法

    randint()方法返回随机整数 N 满足 a <= N <= b。相当于 randrange(a, b+1)

    语法: random.randint(a, b)
    
    • a:指定起始位置的整数。
    • b:指定结束位置的整数。
    示例:
    import random
    
    print(random.randint(2, 7))
    

    choice()方法

    choice()方法从非空序列返回一个随机元素。如果 seq 为空,则引发 IndexError。

    语法: random.choice(seq)
    
    示例:
    import random
    
    lst = [1, 2, 3]
    print(random.choice(lst))  
    

    choices()方法

    choices()方法返回一个列表,其中包含指定序列中随机选择的元素。

    语法: random.choices(sequence, weights=None, cum_weights=None, k=1)
    
    • sequence:序列。
    • weights:根据相对权重进行选择。
    • cum_weights :根据累积权重进行选择。
    示例:
    import random
    
    lst = ["x", "k", "d"]
    print(random.choices(lst, weights=[3, 1, 1], k=7))  # 返回大小为7的元素序列
    

    shuffle()方法

    shuffle()方法将序列 x 随机打乱位置。

    语法: random.shuffle(x[, random])
    
    示例:
    import random
    
    lst = ["x", "k", "d"]
    random.shuffle(lst)
    print(lst)
    

    sample()方法

    sample()方法返回从总体序列或集合中选择的唯一元素的 k 长度列表。 用于无重复的随机抽样。

    语法: random.sample(sequence, k)
    
    • sequence:序列。
    • k:返回列表的大小。
    示例:
    import random
    
    lst = ["x", "k", "d", "a", "b", "c"]
    
    print(random.sample(lst, k=3))   # 返回大小为3的元素序列
    

    random()方法

    random()方法返回[0.0, 1.0)范围内的下一个随机浮点数。

    语法: random.random()
    
    示例:
    import random
    
    print(random.random())   
    # 0.0 <= x < 1.0
    

    uniform()方法

    uniform()方法返回一个随机浮点数 N。当 a <= b 时, a <= N <= b 。当 b < a 时, b <= N <= a

    语法: random.uniform(a, b)
    
    示例:
    import random
    
    print(random.uniform(7.0, 13.0))  
    # 7.0 <= x <= 13.0
    

    triangular()方法

    random()方法返回一个随机浮点数 N,使得 low <= N <= high 并在这些边界之间使用指定的 mode 。low 和 high 边界默认为0和1。 mode参数默认为边界之间的中点,给出对称分布。

    语法: random.triangular(low, high, mode)
    
    • low:指定最低可能结果的数字。
    • high:指定最高可能结果的数字。
    • mode:用于在任何方向上衡量结果的数字,默认低值和高值之间的中点。
    示例:
    import random
    
    print(random.triangular(10, 20, 15))
    

    参考:https://docs.python.org/zh-cn/3.7/library/random.html

    相关文章

      网友评论

        本文标题:random模块中的方法介绍

        本文链接:https://www.haomeiwen.com/subject/yuhujctx.html