我使用 python 超过 1 年了。我脑海中浮现出一个问题,随机值是如何生成的,有一些特定的机制,通过这种机制,用户看来似乎是随机的系统应该选择特定的值。在所有编程语言中,它是如何生成的?它们都有相同的机制吗?
通常操作系统提供(伪)随机数据源。例如,在Linux上有/dev/urandom
和/dev/random
。
编程语言中的一些随机函数使用它,其他函数基于种子值并从中生成或多或少可重现的值。
Python 中的 random
模块使用了种子方法。对于需要更多随机性的用例,请使用secrets
模块。我使用操作系统随机源。