设置特定的种子将创建固定的随机数序列:
random.seed(5) # 创建固定状态 print(random.randrange(0, 10)) # 获取0到9之间的随机整数 # 出:9 print(random.randrange(0, 10)) # 出:4
重置种子将再次创建相同的“随机”序列:
random.seed(5) # 将随机模块重置为相同的固定状态。 print(random.randrange(0, 10)) # 出:9 print(random.randrange(0, 10)) # 出:4
由于种子是固定的,因此这些结果始终为9和4。如果不要求具有特定数字,则仅需使这些值相同就可以使用getstate并setstate恢复到先前的状态:
save_state = random.getstate() # 获取当前状态 print(random.randrange(0, 10)) # 出:5 print(random.randrange(0, 10)) # 出:8 random.setstate(save_state) # 重置为保存状态 print(random.randrange(0, 10)) # 出:5 print(random.randrange(0, 10)) # 出:8
要再次伪随机化序列,请seed使用None:
random.seed(None)
或seed不带任何参数的方法调用:
random.seed()