random — willekeurige getallen genereren¶
Deze module implementeert een pseudo-willekeurige-getallengenerator (PRNG). De PRNG is een 32-bits LCG in Yasmarang-stijl; bij de eerste import trekt deze één 32-bits seed uit dezelfde hardwarebron die os.urandom() gebruikt, en elk volgend getal is een deterministische functie van die seed.
Waarschuwing
De uitvoer is niet cryptografisch veilig – het algoritme is voorspelbaar op basis van een korte uitvoerreeks, en de initiële seed bevat slechts 32 bits aan entropie. Voor sleutelmateriaal, sessietokens, password salts of enig ander beveiligingsgevoelig gebruik dient u in plaats daarvan os.urandom() aan te roepen.
Notitie
De volgende notatie wordt gebruikt voor intervallen:
() zijn haakjes voor een open interval en bevatten hun eindpunten niet. Bijvoorbeeld, (0, 1) betekent groter dan 0 en kleiner dan 1. In verzamelingsnotatie: (0, 1) = {x | 0 < x < 1}.
[] zijn haakjes voor een gesloten interval die al hun grenspunten bevatten. Bijvoorbeeld, [0, 1] betekent groter dan of gelijk aan 0 en kleiner dan of gelijk aan 1. In verzamelingsnotatie: [0, 1] = {x | 0 <= x <= 1}.
Functies voor gehele getallen¶
- random.getrandbits(n: int) int¶
Geeft een geheel getal terug met n willekeurige bits (0 <= n <= 32).
- random.randrange(start: int, stop: int | None = None, step: int = 1) int¶
De eerste vorm geeft een willekeurig geheel getal terug uit het bereik [0, stop). De tweede vorm geeft een willekeurig geheel getal terug uit het bereik [start, stop). De derde vorm geeft een willekeurig geheel getal terug uit het bereik [start, stop) in stappen van step. Het aanroepen van
randrange(1, 10, 2)geeft bijvoorbeeld oneven getallen terug tussen 1 en 9 inclusief.
Functies voor floats¶
Overige functies¶
- random.seed(n: int | None = None, /) None¶
Initialiseer de willekeurige-getallengeneratormodule met de seed n, die een geheel getal moet zijn. Wanneer geen argument (of
None) wordt meegegeven, wordt de PRNG opnieuw geseed vanuit dezelfde port-specifieke bron dieos.urandom()gebruikt.
- random.choice(sequence: Any) Any¶
Kiest en geeft willekeurig één item terug uit sequence (tuple, lijst of een object dat de subscript-operatie ondersteunt).