Полное руководство по работе с библиотекой random в Python

онлайн тренажер по питону
Онлайн-тренажер Python 3 для начинающих

Теория без воды. Задачи с автоматической проверкой. Подсказки на русском языке. Работает в любом современном браузере.

начать бесплатно

Как работать с библиотекой Random? Полное руководство для новичков и профессионалов

Работа с случайными числами — это одна из базовых и часто используемых задач в программировании. Независимо от того, создаёте ли вы простую игру, моделируете вероятностные события или работаете с машинным обучением, библиотека random в Python станет вашим надёжным помощником.

В этой статье мы подробно рассмотрим, как эффективно использовать библиотеку random в Python, разберём функции randint и сравним её с аналогом из библиотеки NumPynp.random.randint.


Что такое библиотека random в Python?

Библиотека random — это стандартный модуль Python, предназначенный для генерации псевдослучайных чисел.

Она не требует дополнительной установки и предоставляет широкий спектр функций для генерации случайных чисел, выбора случайных элементов из последовательностей и даже перемешивания данных.

📌 Основные возможности библиотеки random:

  • Генерация случайных чисел.

  • Выбор случайного элемента из списка или кортежа.

  • Перемешивание элементов.

  • Генерация случайных чисел по нормальному и другим распределениям.


Импорт библиотеки random

Для начала работы достаточно просто импортировать модуль:

python
import random

Функции библиотеки random с примерами

1. random.random()

Генерирует случайное число с плавающей точкой от 0.0 до 1.0.

python
import random print(random.random()) # Например, 0.7345

2. random.randint() — Что это такое?

Это одна из самых популярных функций, которая генерирует случайное целое число в заданном диапазоне.

python
random.randint(a, b) # Возвращает случайное число от a до b включительно

📚 Пример использования:

python
number = random.randint(1, 10) print(f"Случайное число: {number}")

Вывод: Случайное число от 1 до 10 включительно.


3. random.choice()

Выбирает случайный элемент из последовательности.

python
colors = ['red', 'blue', 'green'] print(random.choice(colors)) # Например, 'blue'

4. random.shuffle()

Перемешивает список прямо на месте.

python
deck = [1, 2, 3, 4, 5] random.shuffle(deck) print(deck) # Элементы будут в случайном порядке

Чем отличается np.random.randint от random.randint?

Многие задаются вопросом: np.random.randint — что это?

Это функция из библиотеки NumPy, которая используется для работы с массивами и векторизацией числовых данных. Она чаще всего применяется в научных расчётах и машинном обучении, когда требуется сгенерировать массив случайных чисел.

python
import numpy as np arr = np.random.randint(1, 10, size=5) print(arr) # Например, [3 7 2 9 1]

📌 Основные отличия:

Функция random.randint np.random.randint
Возвращает Одно число Массив чисел
Использование Простые задачи Научные расчёты, ML
Производительность Низкая при больших объёмах Высокая благодаря NumPy

Когда использовать random, а когда np.random?

  • Используйте random, если вам нужно получить одно случайное значение или перемешать небольшой список.

  • Используйте np.random, если работаете с большими наборами данных, массивами или моделируете сложные процессы.


Как установить NumPy, если он ещё не установлен?

bash
pip install numpy

FAQ — Часто задаваемые вопросы

1. Можно ли управлять генерацией случайных чисел?

Да, с помощью функции random.seed(). Это позволяет воспроизводить одинаковые результаты при тестировании.

python
random.seed(42) print(random.randint(1, 10)) # Будет всегда одно и то же число

2. Что делает np.random.seed()?

Аналогично функции из random, но применяется для генерации случайных чисел в NumPy.


3. Как получить случайное дробное число в определённом диапазоне?

Используйте random.uniform():

python
value = random.uniform(1.5, 5.5) print(value)

4. Как сгенерировать список случайных чисел?

python
numbers = [random.randint(1, 100) for _ in range(10)] print(numbers)

5. Можно ли использовать random для криптографии?

Нет, модуль random не подходит для криптографических целей. Используйте модуль secrets для более надёжной генерации случайных данных.


6. Как сгенерировать массив случайных чисел NumPy размером 100 на 100?

python
matrix = np.random.randint(0, 10, size=(100, 100)) print(matrix)

Заключение

Библиотека random в Python — это мощный и простой в использовании инструмент для генерации случайных данных. А при работе с массивами и сложными задачами на помощь приходит np.random из библиотеки NumPy.

Надеюсь, теперь вы знаете, как использовать random.randint, чем он отличается от np.random.randint, и когда стоит применять каждую из них.

Если вы планируете изучать анализ данных или машинное обучение, настоятельно рекомендую освоить работу с NumPy и его возможностями по генерации случайных данных.

Новости