random — Zufallszahlen erzeugen¶
Dieses Modul implementiert einen Pseudozufallszahlengenerator (PRNG). Der PRNG ist ein 32-Bit-LCG im Yasmarang-Stil; beim ersten Import zieht er einen 32-Bit-Startwert aus derselben Hardwarequelle, die os.urandom() verwendet, und jede nachfolgende Zahl ist eine deterministische Funktion dieses Startwerts.
Warnung
Die Ausgabe ist nicht kryptografisch sicher – der Algorithmus ist aus einer kurzen Ausgabesequenz vorhersagbar, und der anfängliche Startwert trägt nur 32 Bit Entropie. Verwenden Sie für Schlüsselmaterial, Sitzungstokens, Passwort-Salts oder jede andere sicherheitsrelevante Anwendung stattdessen os.urandom().
Bemerkung
Für Intervalle wird die folgende Notation verwendet:
() sind offene Intervallklammern und schließen ihre Endpunkte nicht ein. Zum Beispiel bedeutet (0, 1) größer als 0 und kleiner als 1. In Mengennotation: (0, 1) = {x | 0 < x < 1}.
[] sind geschlossene Intervallklammern, die alle ihre Grenzpunkte einschließen. Zum Beispiel bedeutet [0, 1] größer oder gleich 0 und kleiner oder gleich 1. In Mengennotation: [0, 1] = {x | 0 <= x <= 1}.
Funktionen für Ganzzahlen¶
- random.randrange(start: int, stop: int | None = None, step: int = 1) int¶
Die erste Form gibt eine zufällige Ganzzahl aus dem Bereich [0, stop) zurück. Die zweite Form gibt eine zufällige Ganzzahl aus dem Bereich [start, stop) zurück. Die dritte Form gibt eine zufällige Ganzzahl aus dem Bereich [start, stop) in Schritten von step zurück. Zum Beispiel gibt der Aufruf
randrange(1, 10, 2)ungerade Zahlen zwischen 1 und 9 einschließlich zurück.
Funktionen für Gleitkommazahlen¶
Weitere Funktionen¶
- random.seed(n: int | None = None, /) None¶
Initialisiert das Zufallszahlengenerator-Modul mit dem Startwert n, der eine Ganzzahl sein sollte. Wenn kein Argument (oder
None) übergeben wird, wird der PRNG aus derselben portspezifischen Quelle neu initialisiert, dieos.urandom()verwendet.
- random.choice(sequence: Any) Any¶
Wählt zufällig ein Element aus sequence (Tupel, Liste oder ein beliebiges Objekt, das die Indexoperation unterstützt) aus und gibt es zurück.