random — satunnaislukujen luominen¶
Tämä moduuli toteuttaa pseudosatunnaislukugeneraattorin (PRNG). PRNG on 32-bittinen Yasmarang-tyylinen LCG; ensimmäisellä tuonnilla se hakee yhden 32-bittisen siemenluvun samasta laitteistolähteestä, jota os.urandom() käyttää, ja jokainen seuraava luku on tuon siemenluvun deterministinen funktio.
Varoitus
Tuloste ei ole kryptografisesti turvallinen – algoritmi on ennustettavissa lyhyestä tulostesarjasta, ja alkuperäinen siemenluku sisältää vain 32 bittiä entropiaa. Avainmateriaalia, istuntotunnuksia, salasanasaltteja tai mitä tahansa muuta turvallisuuskriittistä käyttöä varten kutsu sen sijaan os.urandom().
Muista
Väleille käytetään seuraavaa merkintätapaa:
() ovat avoimen välin sulkeita eivätkä sisällä päätepisteitään. Esimerkiksi (0, 1) tarkoittaa suurempaa kuin 0 ja pienempää kuin 1. Joukkomerkinnällä: (0, 1) = {x | 0 < x < 1}.
[] ovat suljetun välin sulkeita, jotka sisältävät kaikki rajapisteensä. Esimerkiksi [0, 1] tarkoittaa suurempaa tai yhtä suurta kuin 0 ja pienempää tai yhtä suurta kuin 1. Joukkomerkinnällä: [0, 1] = {x | 0 <= x <= 1}.
Kokonaislukufunktiot¶
- random.getrandbits(n: int) int¶
Palauttaa kokonaisluvun, jossa on n satunnaista bittiä (0 <= n <= 32).
- random.randrange(start: int, stop: int | None = None, step: int = 1) int¶
Ensimmäinen muoto palauttaa satunnaisen kokonaisluvun väliltä [0, stop). Toinen muoto palauttaa satunnaisen kokonaisluvun väliltä [start, stop). Kolmas muoto palauttaa satunnaisen kokonaisluvun väliltä [start, stop) askelin step. Esimerkiksi
randrange(1, 10, 2)-kutsu palauttaa parittomia lukuja väliltä 1-9 päätepisteet mukaan lukien.
Liukulukufunktiot¶
Muut funktiot¶
- random.seed(n: int | None = None, /) None¶
Alustaa satunnaislukugeneraattorimoduulin siemenluvulla n, jonka tulee olla kokonaisluku. Kun argumenttia (tai
None) ei välitetä, PRNG siemennetään uudelleen samasta porttikohtaisesta lähteestä, jotaos.urandom()käyttää.
- random.choice(sequence: Any) Any¶
Valitsee ja palauttaa yhden alkion satunnaisesti sekvenssistä sequence (monikko, lista tai mikä tahansa objekti, joka tukee indeksointioperaatiota).