python 3 : random. 种子 () : where to call it?

标签 python random coding-style python-3.x

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

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

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

有什么简单安全的解决方法吗?

最佳答案

在主模块的“导入部分”执行代码实际上是安全的,所以如果您不确定导入可能会或可能不会使用随机模块的其他模块,也许绕过您的种子,您当然可以使用像

import random
random.seed(seed_value)

import something
import else

if __name__ == "__main__":
    main()

关于 python 3 : random. 种子 () : where to call it?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4881248/

相关文章:

python - 这是在 Python 中对数据结构执行一系列操作的好方法吗?

python - “' numpy.ndarray ' object is not callable”

python - 什么是 OpenSSL.Connection 中的 unwrap 等价物?

matlab - 在 Matlab 中生成随机矩阵

用 C 创建两个不同种子的独立 RNG

c# - 随机洗牌列表

java - 多次或一次 try catch

c - 在 C 中始终强制转换变量是一个好习惯吗?

python - 使用 ECB 模式加密解密字节时出现问题

python - 在以一种形式创建记录时自动创建另一个模型的记录 - Odoo 10