python 3:random.seed():在哪里调用它?

max*_*max 7 python random coding-style python-3.x

我需要确保程序中的所有随机性都是完全可复制的.我应该在哪里拨打random.seed()?

我认为它应该在我的main.py模块中,但它会导入其他碰巧使用随机函数的模块.

我可以仔细浏览我的导入,看看哪一个是第一个执行,但是当我改变我的代码结构时,我将不得不记得再次重做这个分析.

有没有简单安全的解决方案?

Jim*_*som 7

在主模块的"导入部分"中执行代码实际上是安全的,因此如果您不确定导入可能使用或不使用随机模块的其他模块,可能绕过您的种子,您当然可以使用类似的东西

import random
random.seed(seed_value)

import something
import else

if __name__ == "__main__":
    main()
Run Code Online (Sandbox Code Playgroud)