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

03-05 15:23