random — generera slumptal¶
Denna modul implementerar en pseudoslumptalsgenerator (PRNG). PRNG:n är en 32-bitars LCG i Yasmarang-stil; vid första importen hämtar den ett 32-bitars frö från samma hårdvarukälla som os.urandom() använder, och varje efterföljande tal är en deterministisk funktion av det fröet.
Varning
Utdatan är inte kryptografiskt säker – algoritmen är förutsägbar utifrån en kort utdatasekvens, och det initiala fröet bär endast 32 bitars entropi. För nyckelmaterial, sessionstoken, lösenordssalter eller annan säkerhetskänslig användning, anropa os.urandom() i stället.
Anteckning
Följande notation används för intervall:
() är öppna intervallparenteser och inkluderar inte sina ändpunkter. Till exempel betyder (0, 1) större än 0 och mindre än 1. I mängdnotation: (0, 1) = {x | 0 < x < 1}.
[] är slutna intervallparenteser som inkluderar alla sina gränspunkter. Till exempel betyder [0, 1] större än eller lika med 0 och mindre än eller lika med 1. I mängdnotation: [0, 1] = {x | 0 <= x <= 1}.
Funktioner för heltal¶
- random.randrange(start: int, stop: int | None = None, step: int = 1) int¶
Den första formen returnerar ett slumpmässigt heltal från intervallet [0, stop). Den andra formen returnerar ett slumpmässigt heltal från intervallet [start, stop). Den tredje formen returnerar ett slumpmässigt heltal från intervallet [start, stop) i steg om step. Att till exempel anropa
randrange(1, 10, 2)returnerar udda tal mellan 1 och 9 inklusive.
Funktioner för flyttal¶
Övriga funktioner¶
- random.seed(n: int | None = None, /) None¶
Initiera slumptalsgeneratormodulen med fröet n, som ska vara ett heltal. När inget argument (eller
None) skickas in återfrösås PRNG:n från samma portspecifika källa somos.urandom()använder.
- random.choice(sequence: Any) Any¶
Väljer och returnerar ett objekt slumpmässigt från sequence (tupel, lista eller valfritt objekt som stöder indexeringsoperationen).