random — véletlenszámok generálása¶
Ez a modul egy ál-véletlenszám-generátort (PRNG) valósít meg. A PRNG egy 32 bites Yasmarang-stílusú LCG; az első importáláskor egy 32 bites magot von ki ugyanabból a hardveres forrásból, amelyet az os.urandom() is használ, és minden ezt követő szám e mag determinisztikus függvénye.
Figyelem
A kimenet nem kriptográfiailag biztonságos – az algoritmus egy rövid kimeneti sorozatból kiszámítható, és a kezdeti mag csak 32 bit entrópiát hordoz. Kulcsanyaghoz, munkamenet-tokenekhez, jelszó-sókhoz vagy bármilyen más biztonsági szempontból érzékeny felhasználáshoz helyette hívd az os.urandom() függvényt.
Megjegyzés
Az intervallumokhoz a következő jelölést használjuk:
A () nyílt intervallumzárójelek, és nem tartalmazzák a végpontjaikat. Például a (0, 1) azt jelenti, hogy nagyobb mint 0 és kisebb mint 1. Halmazjelöléssel: (0, 1) = {x | 0 < x < 1}.
A [] zárt intervallumzárójelek, amelyek minden határpontjukat tartalmazzák. Például a [0, 1] azt jelenti, hogy nagyobb vagy egyenlő mint 0 és kisebb vagy egyenlő mint 1. Halmazjelöléssel: [0, 1] = {x | 0 <= x <= 1}.
Egész számokra vonatkozó függvények¶
- random.randrange(start: int, stop: int | None = None, step: int = 1) int¶
Az első forma egy véletlen egész számot ad vissza a [0, stop) tartományból. A második forma egy véletlen egész számot ad vissza a [start, stop) tartományból. A harmadik forma egy véletlen egész számot ad vissza a [start, stop) tartományból step lépésközzel. Például a
randrange(1, 10, 2)hívása 1 és 9 közötti páratlan számokat ad vissza, mindkettőt beleértve.
Lebegőpontos számokra vonatkozó függvények¶
Egyéb függvények¶
- random.seed(n: int | None = None, /) None¶
Inicializálja a véletlenszám-generátor modult az n maggal, amelynek egész számnak kell lennie. Ha nem adunk át argumentumot (vagy
Noneértéket), a PRNG újra magot kap ugyanabból a port-specifikus forrásból, amelyet azos.urandom()is használ.
- random.choice(sequence: Any) Any¶
Véletlenszerűen kiválaszt és visszaad egy elemet a sequence sorozatból (tuple, lista vagy bármely olyan objektum, amely támogatja az indexelési műveletet).