random — generează numere aleatorii¶
Acest modul implementează un generator de numere pseudo-aleatorii (PRNG). PRNG-ul este un LCG de tip Yasmarang pe 32 de biți; la prima importare extrage o sămânță (seed) de 32 de biți din aceeași sursă hardware folosită de os.urandom(), iar fiecare număr ulterior este o funcție deterministă a acelei sămânțe.
Atenționare
Ieșirea nu este sigură din punct de vedere criptografic – algoritmul este predictibil pornind de la o secvență scurtă de ieșire, iar sămânța inițială poartă doar 32 de biți de entropie. Pentru material de chei, token-uri de sesiune, săruri (salts) pentru parole sau orice altă utilizare sensibilă din punct de vedere al securității, apelați în schimb os.urandom().
Notă
Pentru intervale se folosește următoarea notație:
() sunt paranteze de interval deschis și nu includ capetele lor. De exemplu, (0, 1) înseamnă mai mare decât 0 și mai mic decât 1. În notație de mulțimi: (0, 1) = {x | 0 < x < 1}.
[] sunt paranteze de interval închis care includ toate punctele lor limită. De exemplu, [0, 1] înseamnă mai mare sau egal cu 0 și mai mic sau egal cu 1. În notație de mulțimi: [0, 1] = {x | 0 <= x <= 1}.
Funcții pentru numere întregi¶
- random.randrange(start: int, stop: int | None = None, step: int = 1) int¶
Prima formă returnează un număr întreg aleatoriu din intervalul [0, stop). A doua formă returnează un număr întreg aleatoriu din intervalul [start, stop). A treia formă returnează un număr întreg aleatoriu din intervalul [start, stop) în pași de step. De exemplu, apelarea
randrange(1, 10, 2)va returna numere impare între 1 și 9 inclusiv.
Funcții pentru numere în virgulă mobilă¶
Alte funcții¶
- random.seed(n: int | None = None, /) None¶
Inițializează modulul generatorului de numere aleatorii cu sămânța n, care ar trebui să fie un număr întreg. Când nu se transmite niciun argument (sau
None), PRNG-ul este re-însămânțat din aceeași sursă specifică portului folosită deos.urandom().
- random.choice(sequence: Any) Any¶
Alege și returnează un element la întâmplare din sequence (tuplu, listă sau orice obiect care acceptă operația de indexare).