Python random.seed()
random()函数用于在Python中生成随机数。实际上不是随机的,而是用来生成伪随机数。这意味着这些随机生成的数字可以被确定。
random()函数为一些数值生成数字。这个值也被称为种子值。
种子函数是如何工作的?种子函数用于保存随机函数的状态,这样它就可以在同一台机器或不同机器上多次执行代码时产生相同的随机数(对于特定的种子值)。种子值是生成器生成的前一个值数。对于没有前值的第一次,它使用当前的系统时间。
使用random.seed()函数
在这里,我们将看到如何用相同的种子值每次生成相同的随机数。
例1:
# random module is imported
import random
for i in range(5):
# Any number can be used in place of '0'.
random.seed(0)
# Generated random number will be between 1 to 1000.
print(random.randint(1, 1000))
输出:
865
865
865
865
865
例2:
# importing random module
import random
random.seed(3)
# print a random number between 1 and 1000.
print(random.randint(1, 1000))
# if you want to get the same random number again then,
random.seed(3)
print(random.randint(1, 1000))
# If seed function is not used
# Gives totally unpredictable responses.
print(random.randint(1, 1000))
输出:
244
244
607
在执行上述代码时,上述两个打印语句将产生一个响应244,但第三个打印语句给出了一个不可预测的响应。
random.seed()的用途
- 这被用于生成一个伪随机加密密钥。加密密钥是计算机安全的一个重要组成部分。这些是用于保护数据免受互联网上未经授权的访问的秘密密钥。
- 它使代码的优化变得容易,其中随机数被用于测试。代码的输出有时取决于输入。因此,使用随机数来测试算法会很复杂。同时,种子函数被用来反复生成相同的随机数,并简化了算法的测试过程。