Модуль Python Random
random — это встроенный модуль, который позволяет нам генерировать случайные элементы.
import random
seed()
Метод seed используется для инициализации генератора случайных чисел.
# Установить seed для воспроизводимых случайных чисел
random.seed(1)
random.random()
0.13436424411240122
Установка seed в число всегда будет возвращать одно и то же случайное число:
random.seed(1)
random.random()
0.13436424411240122
random.seed(1)
random.random()
0.13436424411240122
random.seed(1)
random.random()
0.13436424411240122
random.seed(1)
random.random()
0.13436424411240122
random.seed(1)
random.random()
0.13436424411240122
Значение по умолчанию для метода seed — это текущее системное время, поэтому мы всегда получаем разное число:
# Генерация случайного числа без установки seed (использует системное время)
random.random()
0.8474337369372327
random.random()
0.763774618976614
random.random()
0.2550690257394217
randint()
random.randint(start: int, stop: int)
Этот метод возвращает случайное число между заданными параметрами start и stop:
random.randint(1, 5)
3
random.randint(1, 5)
2
random.randint(1, 5)
5
random.randint(1, 5)
1
random.randint(1, 5)
3
random.randint(1, 5)
1
choice()
Метод choice возвращает случайно выбранный элемент из итерируемого объекта, такого как list, set или str:
random.choice([1, 2, 3, 4])
1
random.choice([1, 2, 3, 4])
2
random.choice([1, 2, 3, 4])
4
random.choice([1, 2, 3, 4])
4
shuffle()
Метод shuffle принимает итерируемый объект и перемешивает его:
my_list = [1, 2, 3, 4]
# Перемешать список на месте
random.shuffle(my_list)
my_list
[1, 4, 3, 2]
random.shuffle(my_list)
my_list
[2, 4, 3, 1]
random.shuffle(my_list)
my_list
[4, 2, 3, 1]
sample()
random.sample(iterable, k: int)
sample возвращает список со случайной выборкой из итерируемого объекта. Количество возвращаемых элементов равно параметру k:
# Случайная выборка k элементов из списка
random.sample([1, 2, 3, 4], 1)
[3]
random.sample([1, 2, 3, 4], 2)
[3, 4]
random.sample([1, 2, 3, 4], 3)
[4, 3, 2]
random.sample([1, 2, 3, 4], 4)
[1, 2, 4, 3]
random()
Метод random возвращает случайное число с плавающей запятой в диапазоне от 0.0 до 1.0:
random.random()
0.4143139993007743
random.random()
0.17300740157905092
random.random()
0.548798761388153
random.random()
0.7030407620656315
uniform()
Метод uniform похож на randint, но возвращает число с плавающей запятой:
random.uniform(1, 5)
3.697943322009309
random.uniform(1, 5)
2.498812082006561
random.uniform(1, 5)
2.7558465201782525
random.uniform(1, 5)
3.0337059529999273