random --- 產生亂數¶
此模組實作了一個偽隨機數產生器(PRNG)。此 PRNG 是一個 32 位元的 Yasmarang 風格 LCG;在首次匯入時,它會從 os.urandom() 所使用的同一硬體來源取得一個 32 位元的種子,而之後產生的每一個數,都是該種子的確定性函式。
警告
其輸出並非具密碼學安全性——該演算法可由一段簡短的輸出序列預測,而初始種子僅帶有 32 位元的熵。對於金鑰材料、工作階段權杖(session token)、密碼鹽(salt),或任何其他與安全相關的用途,請改為呼叫 os.urandom()。
備註
區間使用下列表示法:
() 為開區間括號,不包含其端點。例如,(0, 1) 表示大於 0 且小於 1。以集合表示法:(0, 1) = {x | 0 < x < 1}。
[] 為閉區間括號,包含其所有界限點。例如,[0, 1] 表示大於或等於 0 且小於或等於 1。以集合表示法:[0, 1] = {x | 0 <= x <= 1}。
整數相關函式¶
浮點數相關函式¶
其他函式¶
- random.seed(n: int | None = None, /) None¶
以種子 n 初始化亂數產生器模組,n 應為整數。當未傳入任何引數(或傳入
None)時,PRNG 會從os.urandom()所使用的同一個埠專屬來源重新設定種子。
- random.choice(sequence: Any) Any¶
從 sequence(元組、串列,或任何支援下標運算的物件)中隨機選取並傳回一個項目。