python里不能调用random库_Python random标准库

以下所有内容来源于random Documentation。

random库实现了不同分布的伪随机数生成器。该模块的几乎所有函数均依赖于基本函数random()函数,该函数在半开区间[0.0, 1.0)等概率地产生一个随机浮点数。Python使用 Mersenne Twister算法作为核心生成器。作为目前使用最广泛的久经考验的伪随机数生成器之一,其具有很多优点,But being completely determistic(不知道怎么得体的翻译),它并不具有普适性,尤其是密码领域完全不适用。

该模块的所有函数均是random.Random类的实例的方法,所以,可以实例化该类来不共享随机种子,这种方式尤其适用于多线程程序。也可以以该类为父类实现自己的类从而使用其他的随机数生成器,只需要覆写random(), seed(), getstate(), setstate(), jumpahead()函数。也可以提供getrandbits函数从而使用randrange()函数。

注意:该模块不能被适用于安全目的,应该使用os.urandom()或者SystemRandom如果需要密码安全伪随机数生成器。

下面为函数的说明:

random.seed(a=None) # 初始化随机数生成器的内部状态;

getstate(), setstate(), jumpahead(), getrandbits(k)

# 整数函数:

randrange(start, stop[, step]) # 返回一个从range(start, stop, step)随机选择的元素, 等价于choice(range(start, stop, step),但不创建range对象;

randint(a, b) # 返回一个位于区间[a, b]的一个随机整数;

choice(seq) # 返回非空序列中的一个随机元素,如果序列为空,抛出IndexError错误。

shuffle(x[, ramdom]) # 就地交换序列x(可以用于洗牌)注意,即使对于较小长度的序列x,其组合情况极多,可能会大于随机数生成器的范围。

sample(population, k) # 返回从population中选择的k无重复元素列表,用于模拟不放回随机采样。(或许可以用来发牌)

# 实数函数:

random() # 返回[0.0, 1.0)内的随机浮点数

uniform(a, b) # 均匀分布 相当于a+(b-a)*random()

triangular(low, high, mode) # 下限, 上限, 众数。

betavariate(alpha, beta) # beta分布

expovariate(lambd) # 指数分布

gammavariate(alpha, beta) # Gamma分布

gauss(mu, sigma) # 高斯分布,比normalvariate()更快

lognormvariate(mu, sigma) # 对数正态分布

normalvariate(mu, sigma) # 正态分布

vonmisesvariate(mu, kappa) #

paretovariate(alpha) # Pareto分布

weibullvariate(alpha, beta) # Weibull分布

示例:

a052f9bd164b?utm_campaign

示例

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值