Python-Modul random

Python randomDas Modul wird hauptsächlich verwendet, um Zufallszahlen zu erzeugen.

randomDas Modul implementiert Pseudozufallszahlengeneratoren für verschiedene Verteilungen.

Umrandomzu verwenden, muss die Funktion zuerst importiert werden:

import random

Inhalt des random-Moduls anzeigen:

Beispiele

>>> import random
>>> dir(random)
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_Sequence', '_Set', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', '_floor', '_inst', '_log', '_os', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate', 'paretovariate', 'randbytes', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']

Als Nächstes verwenden wirrandom()Die Methode gibt eine Zufallszahl zurück, die innerhalbeines halboffenen Intervalls liegt [0,1)Bereich, einschließlich 0, aber ausschließlich 1.

Beispiele

# Importiere das random-Paket
import random

# Generieren Sie eine Zufallszahl
print(random.random())

Die Ausgabe des obigen Beispiels ist:

0.4784904215869241

seed()Die Methode ändert den Seed des Zufallszahlengenerators, und Sie können diese Funktion aufrufen, bevor Sie andere Funktionen des random-Moduls aufrufen.

Beispiele

#!/usr/bin/python3
import random

random.seed()
print (Generieren Sie eine Zufallszahl mit dem Standard-Seed:, random.random())
print (Generieren Sie eine Zufallszahl mit dem Standard-Seed:, random.random())

random.seed(10)
print (Generieren Sie eine Zufallszahl mit der Ganzzahl 10 als Seed:, random.random())
random.seed(10)
print (Generieren Sie eine Zufallszahl mit der Ganzzahl 10 als Seed:, random.random())

random.seed("hello",2)
print (Generieren Sie eine Zufallszahl mit einem String-Seed:, random.random())

Die Ausgabe nach dem Ausführen des obigen Beispiels lautet:

使用默认种子生成随机数: 0.7908102856355441
使用默认种子生成随机数: 0.81038961519195
使用整数 10 种子生成随机数: 0.5714025946899135
使用整数 10 种子生成随机数: 0.5714025946899135
使用字符串种子生成随机数: 0.3537754404730722

Methoden des random-Moduls

Die Methoden des random-Moduls sind wie folgt:

Methode Beschreibung
seed() Initialisiert den Zufallszahlengenerator
getstate() Gibt ein Objekt zurück, das den aktuellen internen Zustand des Generators erfasst.
setstate() state sollte aus einem vorherigen Aufruf von getstate() stammen, und setstate() stellt den internen Zustand des Generators auf den Zustand wieder her, den er beim Aufruf von getstate() hatte.
getrandbits(k) Gibt eine nichtnegative Python-Ganzzahl mit k zufälligen Bits zurück. Diese Methode wird beim MersenneTwister-Generator bereitgestellt, und einige andere Generatoren können sie ebenfalls als optionalen Teil der API bereitstellen. Wenn möglich, ermöglicht getrandbits() randrange(), beliebig große Bereiche zu verarbeiten.
randrange() Gibt ein zufällig ausgewähltes Element aus range(start, stop, step) zurück.
randint(a, b) Gibt eine zufällige Ganzzahl N zurück, sodass a <= N <= b gilt.
choice(seq) Gibt ein zufälliges Element aus der nicht leeren Sequenz seq zurück. Wenn seq leer ist, wird IndexError ausgelöst.
choices(population, weights=None, *, cum_weights=None, k=1) Gibt eine Liste von k Elementen zurück, die mit Zurücklegen aus population ausgewählt wurden. Wenn population leer ist, wird IndexError ausgelöst.
shuffle(x[, random]) Mische die Sequenz x zufällig.
sample(population, k, *, counts=None) Gibt eine Liste der Länge k mit eindeutigen Elementen zurück, die aus der Populationssequenz oder -menge ausgewählt wurden. Wird für Zufallsstichproben ohne Zurücklegen verwendet.
random() Gibt die nächste zufällige Gleitkommazahl im Bereich [0.0, 1.0) zurück.
uniform() Gibt eine zufällige Gleitkommazahl N zurück, für die a <= N <= b gilt, wenn a <= b, und b <= N <= a, wenn b < a.
triangular(low, high, mode) Gibt eine zufällige Gleitkommazahl N zurück, sodass low <= N <= high gilt und mit einem angegebenen mode zwischen diesen Grenzen. Die Grenzen low und high sind standardmäßig null und eins. Der Parameter mode ist standardmäßig der Mittelpunkt zwischen den Grenzen, was eine symmetrische Verteilung ergibt.
betavariate(alpha, beta) Beta-Verteilung. Die Bedingungen für die Parameter sind alpha > 0 und beta > 0. Der zurückgegebene Wert liegt zwischen 0 und 1.
expovariate(lambd) Exponentialverteilung. lambd ist 1.0 geteilt durch den gewünschten Mittelwert und sollte ungleich null sein.
gammavariate() Gammaverteilung (nicht die Gammafunktion). Die Bedingungen an die Parameter sind alpha > 0 und beta > 0.
gauss(mu, sigma) Normalverteilung, auch bekannt als Gauß-Verteilung. mu ist der Mittelwert und sigma ist die Standardabweichung. Diese Funktion ist etwas schneller als die unten definierte Funktion normalvariate().
lognormvariate(mu, sigma) Log-Normalverteilung. Wenn Sie den natürlichen Logarithmus dieser Verteilung bilden, erhalten Sie eine Normalverteilung mit Mittelwert mu und Standardabweichung sigma. mu kann ein beliebiger Wert sein, und sigma muss größer als null sein.
normalvariate(mu, sigma) Normalverteilung. mu ist der Mittelwert und sigma ist die Standardabweichung.
vonmisesvariate(mu, kappa) Von-Mises-Verteilung. mu ist der durchschnittliche Winkel, ausgedrückt im Bogenmaß, zwischen 0 und 2*pi, und kappa ist der Konzentrationsparameter, der größer oder gleich null sein muss. Wenn kappa null ist, reduziert sich diese Verteilung auf einen gleichmäßig zufälligen Winkel im Bereich 0 bis 2*pi.
paretovariate(alpha) Pareto-Verteilung. alpha ist der Formparameter.
weibullvariate(alpha, beta) Weibull-Verteilung. alpha ist der Skalierungsparameter, und beta ist der Formparameter.
Weitere Erweiterungen