gpt4 book ai didi

python - python中的random.normalvariate()和random.gauss()有什么区别?

转载 作者:IT老高 更新时间:2023-10-28 20:34:04 25 4
gpt4 key购买 nike

random.normalvariate() 和有什么区别?和 random.gauss() ?

它们采用相同的参数并返回相同的值,执行基本相同的功能。

我从 previous answer 了解到那random.gauss()不是 thread safe ,但这在这种情况下意味着什么?程序员为什么要关心这个?换一种说法,为什么 Python 的“随机”中同时包含线程安全和非线程安全版本?

最佳答案

这是一个有趣的问题。一般来说,了解两个 python 实现之间区别的最好方法是自己检查代码:

import inspect, random
str_gauss = inspect.getsource(random.gauss)
str_nv=inspect.getsource(random.normalvariate)

然后打印每个字符串以查看来源有何不同。快速浏览一下代码会发现,它们不仅在多线程方面表现不同,而且算法也不相同;例如,根据 str_nv 中的以下注释,normalvariate 使用称为 Kinderman and Monahan 方法的方法:

# Uses Kinderman and Monahan method. Reference: Kinderman,
# A.J. and Monahan, J.F., "Computer generation of random
# variables using the ratio of uniform deviates", ACM Trans
# Math Software, 3, (1977), pp257-260.

关于python - python中的random.normalvariate()和random.gauss()有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27749133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com