seed( ) 用于指定随机数生成时所用算法开始的整数值,如果使用相同的seed( )值,则每次生成的随即数都相同,如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。
编写如下第一份代码:
from numpy import * num=0 while(num<5): random.seed(5) print(random.random()) num+=1运行结果为:
0.22199317108973948 0.22199317108973948 0.22199317108973948 0.22199317108973948 0.22199317108973948可以看到,每次运行的结果都是一样的
修改代码,如下为第二份代码:
from numpy import * num=0 random.seed(5) while(num<5): print(random.random()) num+=1运行结果为:
0.22199317108973948 0.8707323061773764 0.20671915533942642 0.9186109079379216 0.48841118879482914可以看到,和上一份代码的运行结果不同。这里每次的输出结果都是不一样的。这也就提醒了我们在以后编写代码的时候要明白一点:random.seed(something)只能是一次有效。其实仔细想想也很自然,如果不是一次有效,比如说是一直有效,那岂不是会影响到后续的代码中随机数的选取?
故对于该函数的使用,可总结为:
seed( ) 用于指定随机数生成时所用算法开始的整数值。 1.如果使用相同的seed( )值,则每次生成的随即数都相同; 2.如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。 3.设置的seed()值仅一次有效