Модуль
random
в языке программирования Python предоставляет различные функции для генерации случайных чисел и выборки случайных элементов из коллекций.
В этой статье мы рассмотрим основные функции, доступные в модуле random
, и рассмотрим их использование.
Основные функции модуля random в Python и примеры их использования
random()
Функция random()
генерирует случайное вещественное число в диапазоне от 0 до 1 (не включая 1).
import random print(random.random()) # 0.9216878311426741 print(random.random()) # 0.3361233389748401
seed(a=None)
Функция seed(a=None)
устанавливает начальное значение для генератора случайных чисел. Если a
не задано или равно None
, используется текущее время в качестве начального значения.
import random random.seed(42) print(random.random()) # 0.6394267984578837 random.seed(42) print(random.random()) # 0.6394267984578837
randint(a, b)
Функция randint(a, b)
генерирует случайное целое число в диапазоне от a
до b
включительно.
import random print(random.randint(1, 10)) # 5 print(random.randint(1, 10)) # 10
uniform(a, b)
Функция uniform(a, b)
генерирует случайное вещественное число в диапазоне от a
до b
.
import random print(random.uniform(-1, 1)) # -0.6249504464635636 print(random.uniform(-1, 1)) # 0.8474337369372327
choice(seq)
Функция choice(seq)
выбирает случайный элемент из последовательности seq
.
import random my_list = ['apple', 'banana', 'orange', 'pear'] print(random.choice(my_list)) # 'banana' print(random.choice(my_list)) # 'pear'
choices(population, weights=None, *, cum_weights=None, k=1)
Функция choices(population, weights=None, *, cum_weights=None, k=1)
возвращает список из k
элементов, выбранных случайным образом из population
. Параметр weights
указывает вероятности выбора каждого элемента из population
.
import random my_list = ['apple', 'banana', 'orange', 'pear'] weights = [0.1, 0.2, 0.3, 0.4] print(random.choices(my_list, weights=weights, k=2)) # ['pear', 'banana'] print(random.choices(my_list, weights=weights, k=2)) # ['pear', 'pear']
sample(population, k)
Функция sample(population, k)
возвращает список из k
элементов, выбранных случайным образом из population
без повторений.
import random my_list = ['apple', 'banana', 'orange', 'pear'] print(random.sample(my_list, 2)) # ['banana', 'pear'] print(random.sample(my_list, 2)) # ['pear', 'orange']
shuffle(x)
Функция shuffle(x)
перемешивает порядок элементов в списке x в произвольном порядке.
import random my_list = ['apple', 'banana', 'orange', 'pear'] random.shuffle(my_list) print(my_list) # ['banana', 'pear', 'orange', 'apple']
randrange(start, stop=None, step=1)
Функция randrange(start, stop=None, step=1)
генерирует случайное целое число в диапазоне от start
до stop
(не включая stop
) с заданным шагом step
.
import random print(random.randrange(1, 10)) # 6 print(random.randrange(0, 20, 5)) # 10
getrandbits(k)
Функция getrandbits(k)
генерирует случайное целое число с k
битами.
import random print(random.getrandbits(4)) # 13 print(random.getrandbits(8)) # 107
gauss(mu, sigma)
Функция gauss(mu, sigma)
генерирует случайное число с нормальным распределением с заданным средним значением mu
и стандартным отклонением sigma
.
import random print(random.gauss(0, 1)) # -0.10515650353713555 print(random.gauss(0, 1)) # 0.06677355737474415
betavariate(alpha, beta)
Функция betavariate(alpha, beta)
генерирует случайное число с бета-распределением с параметрами alpha
и beta
.
import random print(random.betavariate(0.5, 0.5)) # 0.7503029722218252 print(random.betavariate(0.5, 0.5)) # 0.2945644850796579
expovariate(lambd)
Функция expovariate(lambd)
генерирует случайное число с экспоненциальным распределением с параметром lambd
.
import random print(random.expovariate(0.5)) # 0.6252329846332267 print(random.expovariate(0.5)) # 0.6640527636150444
gammavariate(alpha, beta)
Функция gammavariate(alpha, beta)
генерирует случайное число с гамма-распределением с параметрами alpha
и beta
.
import random print(random.gammavariate(1, 1)) # 0.1952897299842816 print(random.gammavariate(1, 1)) # 0.2877086760748182
lognormvariate(mu, sigma)
Функция lognormvariate(mu, sigma)
генерирует случайное число с лог-нормальным распределением с параметрами mu
и sigma
.
import random print(random.lognormvariate(0, 1)) # 0.3201430829736953
normalvariate(mu, sigma)
Функция normalvariate(mu, sigma)
генерирует случайное число с нормальным распределением с заданным средним значением mu
и стандартным отклонением sigma
.
import random print(random.normalvariate(0, 1)) # -0.07983370116647224 print(random.normalvariate(0, 1)) # -0.8190380629197525
paretovariate(alpha)
Функция paretovariate(alpha)
генерирует случайное число с распределением Парето с параметром alpha
.
import random print(random.paretovariate(1)) # 4.526067702740851 print(random.paretovariate(1)) # 1.4009723552897616
triangular(low, high, mode)
Функция triangular(low, high, mode)
генерирует случайное число с треугольным распределением с параметрами low
, high
и mode
.
import random print(random.triangular(0, 10, 5)) # 6.252323740217643 print(random.triangular(0, 10, 5)) # 5.012830402626069
uniform(a, b)
Функция uniform(a, b)
генерирует случайное число с равномерным распределением в диапазоне от a
до b
.
import random print(random.uniform(0, 1)) # 0.7786679050743538 print(random.uniform(0, 1)) # 0.775116174443559
Заключение
Модуль random
является очень полезным инструментом в Python, который предоставляет множество функций для генерации случайных чисел и случайных последовательностей. Эти функции могут быть использованы во многих задачах, таких как моделирование, тестирование, шифрование и многих других. При использовании функций модуля random
важно следить за их параметрами и правильно использовать сгенерированные значения для достижения требуемых результатов.