新聞中心
Python random 模塊
Python random 模塊主要用于生成隨機數(shù)。

創(chuàng)新互聯(lián)主營宣恩網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶App定制開發(fā),宣恩h5小程序開發(fā)搭建,宣恩網(wǎng)站營銷推廣歡迎宣恩等地區(qū)企業(yè)咨詢
random 模塊實現(xiàn)了各種分布的偽隨機數(shù)生成器。
要使用 random 函數(shù)必須先導(dǎo)入:
import random
查看 random 模塊中的內(nèi)容:
實例
>>>
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'
]
接下來我們使用 方法返回一個隨機數(shù),它在 [0,1) 范圍內(nèi),包含 0 但不包含 1。
實例
# 導(dǎo)入 random 包
import
random
# 生成隨機數(shù)
print
(
random.
random
(
)
)
以上實例輸出結(jié)果為:
0.4784904215869241
方法改變隨機數(shù)生成器的種子,可以在調(diào)用其他隨機模塊函數(shù)之前調(diào)用此函數(shù)。
實例
#!/usr/bin/python3
import
random
random.
seed
(
)
print
(
"使用默認種子生成隨機數(shù):"
,
random.
random
(
)
)
print
(
"使用默認種子生成隨機數(shù):"
,
random.
random
(
)
)
random.
seed
(
10
)
print
(
"使用整數(shù) 10 種子生成隨機數(shù):"
,
random.
random
(
)
)
random.
seed
(
10
)
print
(
"使用整數(shù) 10 種子生成隨機數(shù):"
,
random.
random
(
)
)
random.
seed
(
"hello"
,
2
)
print
(
"使用字符串種子生成隨機數(shù):"
,
random.
random
(
)
)
以上實例運行后輸出結(jié)果為:
使用默認種子生成隨機數(shù): 0.7908102856355441 使用默認種子生成隨機數(shù): 0.81038961519195 使用整數(shù) 10 種子生成隨機數(shù): 0.5714025946899135 使用整數(shù) 10 種子生成隨機數(shù): 0.5714025946899135 使用字符串種子生成隨機數(shù): 0.3537754404730722
random 模塊方法
random 模塊方法如下:
| 方法 | 描述 |
|---|---|
| 初始化隨機數(shù)生成器 | |
| getstate() | 返回捕獲生成器當(dāng)前內(nèi)部狀態(tài)的對象。 |
| setstate() | state 應(yīng)該是從之前調(diào)用 getstate() 獲得的,并且 setstate() 將生成器的內(nèi)部狀態(tài)恢復(fù)到 getstate() 被調(diào)用時的狀態(tài)。 |
| getrandbits(k) | 返回具有 k 個隨機比特位的非負 Python 整數(shù)。 此方法隨 MersenneTwister 生成器一起提供,其他一些生成器也可能將其作為 API 的可選部分提供。 在可能的情況下,getrandbits() 會啟用 randrange() 來處理任意大的區(qū)間。 |
| 從 range(start, stop, step) 返回一個隨機選擇的元素。 | |
| 返回隨機整數(shù) N 滿足 a <= N <= b。 | |
| 從非空序列 seq 返回一個隨機元素。 如果 seq 為空,則引發(fā) IndexError。 | |
| choices(population, weights=None, *, cum_weights=None, k=1) | 從 population 中選擇替換,返回大小為 k 的元素列表。 如果 population 為空,則引發(fā) IndexError。 |
| 將序列 x 隨機打亂位置。 | |
| sample(population, k, *, counts=None) | 返回從總體序列或集合中選擇的唯一元素的 k 長度列表。 用于無重復(fù)的隨機抽樣。 |
| 返回 [0.0, 1.0) 范圍內(nèi)的下一個隨機浮點數(shù)。 | |
| 返回一個隨機浮點數(shù) N ,當(dāng) a <= b 時 a <= N <= b ,當(dāng) b < a 時 b <= N <= a 。 | |
| triangular(low, high, mode) | 返回一個隨機浮點數(shù) N ,使得 low <= N <= high 并在這些邊界之間使用指定的 mode 。 low 和 high 邊界默認為零和一。 mode 參數(shù)默認為邊界之間的中點,給出對稱分布。 |
| betavariate(alpha, beta) | Beta 分布。 參數(shù)的條件是 alpha > 0 和 beta > 0。 返回值的范圍介于 0 和 1 之間。 |
| expovariate(lambd) | 指數(shù)分布。 lambd 是 1.0 除以所需的平均值,它應(yīng)該是非零的。 |
| gammavariate() | Gamma 分布( 不是伽馬函數(shù)) 參數(shù)的條件是 alpha > 0 和 beta > 0。 |
| gauss(mu, sigma) | 正態(tài)分布,也稱高斯分布。 mu 為平均值,而 sigma 為標準差。 此函數(shù)要稍快于下面所定義的 normalvariate() 函數(shù)。 |
| lognormvariate(mu, sigma) | 對數(shù)正態(tài)分布。 如果你采用這個分布的自然對數(shù),你將得到一個正態(tài)分布,平均值為 mu 和標準差為 sigma 。 mu 可以是任何值,sigma 必須大于零。 |
| normalvariate(mu, sigma) | 正態(tài)分布。 mu 是平均值,sigma 是標準差。 |
| vonmisesvariate(mu, kappa) | 馮·米塞斯分布。 mu 是平均角度,以弧度表示,介于0和 2*pi 之間,kappa 是濃度參數(shù),必須大于或等于零。 如果 kappa 等于零,則該分布在 0 到 2*pi 的范圍內(nèi)減小到均勻的隨機角度。 |
| paretovariate(alpha) | 帕累托分布。 alpha 是形狀參數(shù)。 |
| weibullvariate(alpha, beta) | 威布爾分布。 alpha 是比例參數(shù),beta 是形狀參數(shù)。 |
當(dāng)前文章:Pythonrandom模塊
網(wǎng)站URL:http://www.dlmjj.cn/article/dpjiosi.html


咨詢
建站咨詢
