Модуль random в Python

Python randomМодуль в основном используется для генерации случайных чисел.

randomМодуль реализует генераторы псевдослучайных чисел для различных распределений.

Чтобы использоватьrandom, функцию необходимо сначала импортировать:

import random

Просмотр содержимого модуля random:

Примеры

>>> 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']

Далее мы используемrandom()метод возвращает случайное число, которое находится в пределахполуоткрытого интервала [0,1)диапазон, включая 0, но не включая 1.

Примеры

# Импорт пакета random
import random

# Сгенерировать случайное число
print(random.random())

Вывод приведенного выше примера:

0.4784904215869241

seed()Метод изменяет начальное значение генератора случайных чисел, и вы можете вызвать эту функцию перед вызовом других функций модуля random.

Примеры

#!/usr/bin/python3
import random

random.seed()
print (Сгенерируйте случайное число, используя начальное значение по умолчанию:, random.random())
print (Сгенерируйте случайное число, используя начальное значение по умолчанию:, random.random())

random.seed(10)
print (Сгенерируйте случайное число, используя целое число 10 в качестве начального значения:, random.random())
random.seed(10)
print (Сгенерируйте случайное число, используя целое число 10 в качестве начального значения:, random.random())

random.seed("hello",2)
print (Сгенерируйте случайное число, используя строковое начальное значение:, random.random())

Вывод после запуска приведённого выше примера:

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

Методы модуля random

Методы модуля random перечислены ниже:

Метод Описание
seed() Инициализировать генератор случайных чисел
getstate() Возвращает объект, фиксирующий текущее внутреннее состояние генератора.
setstate() state должен быть получен из предыдущего вызова getstate(), а setstate() восстанавливает внутреннее состояние генератора до того, каким оно было при вызове getstate().
getrandbits(k) Возвращает неотрицательное целое число Python с k случайными битами. Этот метод предоставляется генератором MersenneTwister, и некоторые другие генераторы также могут предоставлять его как необязательную часть API. Когда это возможно, getrandbits() позволяет randrange() обрабатывать произвольно большие диапазоны.
randrange() Возвращает случайно выбранный элемент из range(start, stop, step).
randint(a, b) Возвращает случайное целое число N такое, что a <= N <= b.
choice(seq) Возвращает случайный элемент из непустой последовательности seq. Если seq пуста, возбуждает IndexError.
choices(population, weights=None, *, cum_weights=None, k=1) Возвращает список из k элементов, выбранных с возвращением из population. Если population пуст, возбуждает IndexError.
shuffle(x[, random]) Перемешать последовательность x случайным образом.
sample(population, k, *, counts=None) Вернуть список длины k уникальных элементов, выбранных из последовательности или множества population. Используется для случайной выборки без повторений.
random() Вернуть следующее случайное число с плавающей запятой в диапазоне [0.0, 1.0).
uniform() Вернуть случайное число с плавающей запятой N такое, что a <= N <= b, когда a <= b, и b <= N <= a, когда b < a.
triangular(low, high, mode) Вернуть случайное число с плавающей запятой N такое, что low <= N <= high, с заданным mode между этими границами. Границы low и high по умолчанию равны нулю и единице. Параметр mode по умолчанию равен середине между границами, что даёт симметричное распределение.
betavariate(alpha, beta) Бета-распределение. Условия для параметров: alpha > 0 и beta > 0. Возвращаемое значение находится в диапазоне от 0 до 1.
expovariate(lambd) Экспоненциальное распределение. lambd — это 1.0, делённое на желаемое среднее, и он не должен быть равен нулю.
gammavariate() Гамма-распределение (не гамма-функция). Условия для параметров: alpha > 0 и beta > 0.
gauss(mu, sigma) Нормальное распределение, также известное как распределение Гаусса. mu — это среднее, а sigma — стандартное отклонение. Эта функция немного быстрее, чем функция normalvariate(), определённая ниже.
lognormvariate(mu, sigma) Логнормальное распределение. Если взять натуральный логарифм этого распределения, получится нормальное распределение со средним mu и стандартным отклонением sigma. mu может быть любым значением, а sigma должна быть больше нуля.
normalvariate(mu, sigma) Нормальное распределение. mu — это среднее, а sigma — стандартное отклонение.
vonmisesvariate(mu, kappa) Распределение фон Мизеса. mu — это средний угол, выраженный в радианах, между 0 и 2*pi, а kappa — параметр концентрации, который должен быть больше или равен нулю. Если kappa равен нулю, это распределение сводится к равномерному случайному углу в диапазоне от 0 до 2*pi.
paretovariate(alpha) Распределение Парето. alpha — это параметр формы.
weibullvariate(alpha, beta) Распределение Вейбулла. alpha — параметр масштаба, а beta — параметр формы.
Другие расширения