In welcher Python-Version ist das Zufallsmodul enthalten?

anonymity
Freigeben: 2019-06-17 09:50:13
Original
3273 Leute haben es durchsucht

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.

In welcher Python-Version ist das Zufallsmodul enthalten?

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])
Nach dem Login kopieren

ist äquivalent zu choice(range(start, stop, step)), erstellt aber eigentlich kein Bereichsobjekt.

random.randint(a, b)
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage