开发相关知识

random模块中的方法介绍

2019-08-12  本文已影响16人  暖A暖

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

seed()方法

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

语法: random.seed(a=None, 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)
示例
import random

print(random.random())  

state = random.getstate()
print(random.random())  

random.setstate(state)
print(random.random())  

getrandbits()方法

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

语法: random.getrandbits(n)
示例:
import random

print(random.getrandbits(3)) # 5,随机

randrange()方法

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

语法: random.randrange(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)
示例:
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)
示例:
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)
示例:
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)
示例:
import random

print(random.triangular(10, 20, 15))

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

上一篇下一篇

猜你喜欢

热点阅读