擅长:python、mysql、java
<p>文档并没有明确指出,提供一个seed总是能保证得到相同的结果,但是Python基于所使用的算法实现的random保证了这一点。</p>
<p>根据文档,Python使用<a href="http://en.wikipedia.org/wiki/Mersenne_twister" rel="noreferrer">Mersenne Twister</a>作为核心生成器。一旦这个算法被植入种子,它就不会得到任何会改变后续调用的外部输出,所以给它相同的种子,你就会得到相同的结果。</p>
<p>当然,你也可以通过设置一个种子并生成大量随机数列表并验证它们是否相同来观察这一点,但我理解,我不想只相信这些。</p>
<p>我没有检查过除了CPython之外的其他Python实现,但我非常怀疑它们是否会使用完全不同的算法实现random模块。</p>