Das Zufallsmodul wird zum Generieren von Pseudozufallszahlen verwendet. Speicherort des Quellcodes: Lib/random.py
Die wahre Zufallszahl (oder das Zufallsereignis) verhält sich gemäß dem experimentellen Prozess während eines bestimmten Generierungsprozesses . Verteilungswahrscheinlichkeiten werden zufällig generiert und die Ergebnisse sind unvorhersehbar und unsichtbar. Die Zufallsfunktion im Computer wird nach einem bestimmten Algorithmus simuliert und das Ergebnis ist sicher und sichtbar. Wir können davon ausgehen, dass die Wahrscheinlichkeit dieses vorhersehbaren Ergebnisses 100 % beträgt. Daher sind die von der Computer-Zufallsfunktion generierten „Zufallszahlen“ keine Zufallszahlen, sondern Pseudozufallszahlen.
Die Pseudozufallszahl des Computers ist ein Wert, der durch einen Zufallsstartwert nach einer bestimmten Berechnungsmethode berechnet wird. Solange die Berechnungsmethode sicher ist und der Zufallsstartwert sicher ist, sind die generierten Zufallszahlen daher fest.
Solange der Benutzer oder Dritte den Zufallsstartwert nicht festlegt, kommt der Zufallsstartwert standardmäßig von der Systemuhr.
Diese Python-Bibliothek verwendet im Grunde einen gemeinsamen Algorithmus. Nach einer langen Testphase kann nicht gesagt werden, dass sie zuverlässig ist, sie darf jedoch nicht für passwortbezogene Funktionen verwendet werden.
1. Grundlegende Methode
random.seed(a=None, version=2)
Initialisieren Sie den Pseudozufallszahlengenerator. Wenn a nicht angegeben ist oder a=None, wird die Systemzeit als Startwert verwendet. Wenn a eine Ganzzahl ist, wird sie als Startwert verwendet.
random.getstate()
Gibt ein Objekt des internen Zustands des aktuellen Generators zurück
random.setstate(state)
Übergeben Sie einen vorherigen ausnutzen Das von der getstate-Methode erhaltene Statusobjekt stellt den Generator in diesem Status wieder her.
random.getrandbits(k)
Gibt eine Python-Ganzzahl (Dezimalzahl) zurück, die nicht größer als K Bits ist. Das Ergebnis ist beispielsweise eine Ganzzahl zwischen 0 und 2^10.
2. Methoden für ganze Zahlen
random.randrange(stop) random.randrange(start, stop[, step])
ist äquivalent zu choice(range(start, stop, step)), erstellt aber eigentlich kein Bereichsobjekt.
random.randint(a, b)
Gibt eine zufällige Ganzzahl N mit a <= N <= b zurück. Äquivalent zu randrange(a, b+1)
3. Methoden für Sequenzklassenstrukturen
random.choice(seq)
von nicht zufällig Wählen Sie ein Element aus der leeren Sequenz seq aus. Wenn seq leer ist, wird eine IndexError-Ausnahme angezeigt.
random.choices(population,weights=None, *, cum_weights=None, k=1)
Neu in Version 3.6. K-Elemente werden zufällig aus dem Populationscluster ausgewählt. Weights ist eine relative Gewichtsliste, cum_weights ist das kumulative Gewicht und die beiden Parameter können nicht gleichzeitig existieren.
random.shuffle(x[, random])
Mische zufällig die Reihenfolge der Elemente in Sequenz x. Es kann nur für veränderliche Sequenzen verwendet werden. Für unveränderliche Sequenzen verwenden Sie bitte die unten stehende Methode sample().
random.sample(population, k)
K einzigartige Elemente zufällig aus der Populationsstichprobe extrahieren oder festlegen, um eine neue Sequenz zu bilden. Wird oft für Zufallsstichproben ohne Wiederholung verwendet. Was zurückgegeben wird, ist eine neue Sequenz, ohne die ursprüngliche Sequenz zu zerstören. Um zufällig eine bestimmte Anzahl von Ganzzahlen aus einem Ganzzahlbereich zu ziehen, verwenden Sie eine Methode wie sample(range(10000000), k=60), die sehr effizient und platzsparend ist. Wenn k größer als die Länge der Population ist, wird eine ValueError-Ausnahme angezeigt.
4. Wahre Wertverteilung
Die hochwertigste Funktion des Zufallsmoduls ist tatsächlich hier.
random.random()
Gibt eine Gleitkommazahl zwischen links geschlossen und rechts offen zurück [0.0, 1.0)
random.uniform(a, b)
Gibt eine Gleitkommazahl zwischen a und b zurück. Wenn a>b, handelt es sich um eine Gleitkommazahl zwischen b und a. Sowohl a als auch b können hier im Ergebnis erscheinen.
random.triangular(low, high, mode)
Gibt eine Zufallszahl aus der Dreiecksverteilung mit low <= N <=high zurück. Der Parameter mode gibt die Position an, an der der Modus erscheint.
random.betavariate(alpha, beta)
β-Verteilung. Das zurückgegebene Ergebnis liegt zwischen 0 und 1
random.expovariate(lambd)
Exponentialverteilung
random.gammavariate(alpha, beta)
gamma Horse Verteilung
random.gauss(mu, sigma)
Gaußsche Verteilung
random.lognormvariate(mu, sigma)
Lognormalverteilung
random.normalvariate(mu, sigma)
Normalverteilung
random.vonmisesvariate(mu, kappa)
Kappa-Verteilung
random.paretovariate(alpha )
Pareto-Verteilung
random.weibullvariate(alpha, beta)
5. Optionale Generatoren
class random.SystemRandom( [seed])
Eine Klasse, die die Methode os.urandom() verwendet, um Zufallszahlen zu generieren. Der Quellcode wird möglicherweise nicht von allen Systemen unterstützt
Das obige ist der detaillierte Inhalt vonIn welcher Python-Version ist das Zufallsmodul enthalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!