random是Python中的一個內置模塊,用於生成隨機數。html
seed()方法用於初始化隨機數生成器。python
語法: random.seed(a=None, version=2)
a
:可選參數,若是是整數則直接使用,不然必須轉爲整數。若是沒有值則使用當前系統時間。version
:默認值爲2,指定如何將參數轉換爲整數。import random random.seed() print(random.random()) random.seed(7) print(random.random())
返回捕獲生成器當前內部狀態的對象。這個對象能夠傳遞給setstate()來恢復狀態。dom
語法: random.getstate()
import random print(random.getstate())
setstate()方法恢復隨機數生成器的內部狀態。狀態是在getstate()方法得到的。code
語法: random.setstate(state)
state
:狀態對象。import random print(random.random()) state = random.getstate() print(random.random()) random.setstate(state) print(random.random())
getrandbits()方法返回指定大小的整數。orm
語法: random.getrandbits(n)
n
:指定返回整數的大小的數字。import random print(random.getrandbits(3)) # 5,隨機
randrange()方法返回指定範圍內隨機選擇的元素。htm
語法: random.randrange(start, stop, step)
start
:指定起始位置的整數。stop
:指定結束位置的整數。step
:指定遞增的整數。import random print(random.randrange(1, 5, 2)) print(random.randrange(2, 8, 3))
randint()方法返回隨機整數 N 知足 a <= N <= b
。至關於 randrange(a, b+1)
。對象
語法: random.randint(a, b)
a
:指定起始位置的整數。b
:指定結束位置的整數。import random print(random.randint(2, 7))
choice()方法從非空序列返回一個隨機元素。若是 seq 爲空,則引起 IndexError。get
語法: random.choice(seq)
import random lst = [1, 2, 3] print(random.choice(lst))
choices()方法返回一個列表,其中包含指定序列中隨機選擇的元素。it
語法: random.choices(sequence, weights=None, cum_weights=None, k=1)
sequence
:序列。weights
:根據相對權重進行選擇。cum_weights
:根據累積權重進行選擇。import random lst = ["x", "k", "d"] print(random.choices(lst, weights=[3, 1, 1], k=7)) # 返回大小爲7的元素序列
shuffle()方法將序列 x 隨機打亂位置。io
語法: random.shuffle(x[, random])
import random lst = ["x", "k", "d"] random.shuffle(lst) print(lst)
sample()方法返回從整體序列或集合中選擇的惟一元素的 k 長度列表。 用於無重複的隨機抽樣。
語法: random.sample(sequence, k)
sequence
:序列。k
:返回列表的大小。import random lst = ["x", "k", "d", "a", "b", "c"] print(random.sample(lst, k=3)) # 返回大小爲3的元素序列
random()方法返回[0.0, 1.0)範圍內的下一個隨機浮點數。
語法: random.random()
import random print(random.random()) # 0.0 <= x < 1.0
uniform()方法返回一個隨機浮點數 N。當 a <= b
時, a <= N <= b
。當 b < a
時, b <= N <= a
。
語法: random.uniform(a, b)
import random print(random.uniform(7.0, 13.0)) # 7.0 <= x <= 13.0
random()方法返回一個隨機浮點數 N,使得 low <= N <= high
並在這些邊界之間使用指定的 mode 。low 和 high 邊界默認爲0和1。 mode參數默認爲邊界之間的中點,給出對稱分佈。
語法: random.triangular(low, high, mode)
low
:指定最低可能結果的數字。high
:指定最高可能結果的數字。mode
:用於在任何方向上衡量結果的數字,默認低值和高值之間的中點。import random print(random.triangular(10, 20, 15))