注册

详解Python random.seed(初始化随机数生成器)函数的使用方法

Python的random模块是用来生成随机数的,其中random.seed函数是设定随机数生成器的种子。具体来说,如果随机数生成器的种子相同,那么每次生成的随机数序列都将是一样的,这就确保了程序的可复现性。

那么该函数如何使用呢?在Python中,random模块是内置模块,所以我们不需要安装任何库。在使用之前,需要先引入random模块:

import random

函数原型如下:

random.seed(a=None, version=2)

其中,a是随机数生成器的种子。如果种子没有设置,默认是根据当前时间和进程id生成的。version是指定版本号,用于选择不同的种子生成算法。其返回值是None。

下面是两个实例。

1.例1中,我们设定了相同的种子,然后分别生成两个随机数,发现结果是一致的。

import random

random.seed(1)

# 生成一个随机数
print(random.randint(0, 100))

# 设定相同的种子,然后再生成一个随机数
random.seed(1)
print(random.randint(0, 100))

输出结果:

17
17

2.例2中,我们使用了一个时间戳作为种子。因为时间戳每时每刻都在不断变化,所以每次运行的结果都不一样。

import random
import time

seed = int(time.time())

random.seed(seed)

print(random.randint(0, 100))

输出结果:

77

总之,random.seed函数是控制Python随机数生成器的重要函数,可以帮助我们实现可复现的随机数序列。但是需要注意,如果不同的程序员使用了相同的种子,那么他们生成的随机数序列也是一样的,这可能会引发安全问题。