random.seed()的用法

定义

import random
random.seed(x)
print('随机数:',random.random())

seed从字面意思上翻译为 "种子",我们可以通过参数 "x" 改变随机数生成器的种子seed,即从不同的 "x" 可以得到不同的随机数生成器的种子。

每颗种子能够生长为一组固定顺序的随机数序列,其通常和random.random()搭配使用以生成一个随机数。

例如:若假定random.seed(1)生成的随机数序列为(1,2,3,4),则调用四次random.random()函数,产生的数依次为1,2,3,4。如果期间又执行了random.seed(1)语句,下一步调用random.random()函数产生的数又将变为1,即从开头开始,按照固定顺序推进。

参照下面的实例一目了然

实例

import random

# 当不给出x的具体值时,系统将根据时间自己选择x的值
# 每次生成的随机数序列因时间差异而不同,所得到的随机数就不一样
random.seed()
print('随机数1:',random.random())

random.seed()
print('随机数2:',random.random())

# 当x=1时,同一颗种子将生成固定顺序的随机数序列
random.seed(1)
print('随机数3:',random.random())
print('随机数4:',random.random())

#这里重复执行了random.seed(1),因此又将从头开始,生成0.13436424411240122
#现实意义可参照 while 循环等
random.seed(1)
print('随机数5:',random.random())

# 这里x=2时,注意和上面区分,种子长出了一棵新的树(序列)
random.seed(2)
print('随机数6:',random.random())

随机数1: 0.9250541321707577
随机数2: 0.18139904497935255

随机数3: 0.13436424411240122
随机数4: 0.8474337369372327
随机数5: 0.13436424411240122

随机数6: 0.9560342718892494

总结

 random.seed() 是一种非常方便的生成随机数的方法
1.如果使用相同的x值,则每次生成的随即数序列都相同;
2.如果不设置x值,系统将根据时间自动选择x值,此时生成的随机数序列因时间差异而不同;
3.对于同一x值,若多次执行random.seed(x),将按照固定的序列顺序从头开始生成随机数。

你可能感兴趣的:(数据分析,jupter,conda,python)