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
>>> 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
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
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. |