程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python random 模塊

編輯:Python

Python random 模塊主要用於生成隨機數。

random 模塊實現了各種分布的偽隨機數生成器。

要使用 random 函數必須先導入:

import random

查看 random 模塊中的內容:

實例

>>> import random
>>> dir(random)
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_Sequence', '_Set', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', '_floor', '_inst', '_log', '_os', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate', 'paretovariate', 'randbytes', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']

接下來我們使用 random() 方法返回一個隨機數,它在半開放區間 [0,1) 范圍內,包含 0 但不包含 1。

實例

# 導入 random 包
import random
# 生成隨機數
print(random.random())

以上實例輸出結果為:

0.4784904215869241

seed() 方法改變隨機數生成器的種子,可以在調用其他隨機模塊函數之前調用此函數。

實例

#!/usr/bin/python3
import random
random.seed()
print ("使用默認種子生成隨機數:", random.random())
print ("使用默認種子生成隨機數:", random.random())
random.seed(10)
print ("使用整數 10 種子生成隨機數:", random.random())
random.seed(10)
print ("使用整數 10 種子生成隨機數:", random.random())
random.seed("hello",2)
print ("使用字符串種子生成隨機數:", random.random())

以上實例運行後輸出結果為:

使用默認種子生成隨機數: 0.7908102856355441
使用默認種子生成隨機數: 0.81038961519195
使用整數 10 種子生成隨機數: 0.5714025946899135
使用整數 10 種子生成隨機數: 0.5714025946899135
使用字符串種子生成隨機數: 0.3537754404730722

random 模塊方法

random 模塊方法如下:

方法描述seed()初始化隨機數生成器getstate()返回捕獲生成器當前內部狀態的對象。setstate()state 應該是從之前調用 getstate() 獲得的,並且 setstate() 將生成器的內部狀態恢復到 getstate() 被調用時的狀態。getrandbits(k)返回具有 k 個隨機比特位的非負 Python 整數。 此方法隨 MersenneTwister 生成器一起提供,其他一些生成器也可能將其作為 API 的可選部分提供。 在可能的情況下,getrandbits() 會啟用 randrange() 來處理任意大的區間。randrange()從 range(start, stop, step) 返回一個隨機選擇的元素。randint(a, b)返回隨機整數 N 滿足 a <= N <= b。choice(seq)從非空序列 seq 返回一個隨機元素。 如果 seq 為空,則引發 IndexError。choices(population, weights=None, *, cum_weights=None, k=1)從 population 中選擇替換,返回大小為 k 的元素列表。 如果 population 為空,則引發 IndexError。shuffle(x[, random])將序列 x 隨機打亂位置。sample(population, k, *, counts=None)返回從總體序列或集合中選擇的唯一元素的 k 長度列表。 用於無重復的隨機抽樣。random()返回 [0.0, 1.0) 范圍內的下一個隨機浮點數。uniform()返回一個隨機浮點數 N ,當 a <= b 時 a <= N <= b ,當 b < a 時 b <= N <= a 。triangular(low, high, mode)返回一個隨機浮點數 N ,使得 low <= N <= high 並在這些邊界之間使用指定的 mode 。 low 和 high 邊界默認為零和一。 mode 參數默認為邊界之間的中點,給出對稱分布。betavariate(alpha, beta)Beta 分布。 參數的條件是 alpha > 0 和 beta > 0。 返回值的范圍介於 0 和 1 之間。expovariate(lambd)指數分布。 lambd 是 1.0 除以所需的平均值,它應該是非零的。gammavariate()Gamma 分布( 不是伽馬函數) 參數的條件是 alpha > 0 和 beta > 0。gauss(mu, sigma)正態分布,也稱高斯分布。 mu 為平均值,而 sigma 為標准差。 此函數要稍快於下面所定義的 normalvariate() 函數。lognormvariate(mu, sigma)對數正態分布。 如果你采用這個分布的自然對數,你將得到一個正態分布,平均值為 mu 和標准差為 sigma 。 mu 可以是任何值,sigma 必須大於零。normalvariate(mu, sigma)正態分布。 mu 是平均值,sigma 是標准差。vonmisesvariate(mu, kappa)馮·米塞斯分布。 mu 是平均角度,以弧度表示,介於0和 2*pi 之間,kappa 是濃度參數,必須大於或等於零。 如果 kappa 等於零,則該分布在 0 到 2*pi 的范圍內減小到均勻的隨機角度。paretovariate(alpha)帕累托分布。 alpha 是形狀參數。weibullvariate(alpha, beta)威布爾分布。 alpha 是比例參數,beta 是
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved