3 интересных функции в random
Этот пост более для тех, у кого есть соответствующий бэкграунд и кто хочет знать про
Кстати, можете посмотреть на графиках результаты вызова этих функций по 100к раз тут, тут и тут.
#random
Этот пост более для тех, у кого есть соответствующий бэкграунд и кто хочет знать про
random
больше среднего.betavariate()
— используется для получения случайного числа с плавающей запятой от 0 до 1 на основе бета-распределения (применяется для статистических расчетов).gauss()
— генерирует случайное число с плавающей запятой на основе распределения Гаусса (используется в теории вероятности).paretovariate()
— возвращает случайное число с плавающей запятой на основе распределения Парето (используется в теории вероятности).Кстати, можете посмотреть на графиках результаты вызова этих функций по 100к раз тут, тут и тут.
#random
Генерируем случайные числа
Небольшой пост для тех, кто только начинает свое обучение. Во встроенном модуле
Диапазон получаемого числа задается с помощью двух аргументов: нижняя и верхняя границы в виде целых чисел.
#random
Небольшой пост для тех, кто только начинает свое обучение. Во встроенном модуле
random
есть функция randint
, которая выдает случайные числа.Диапазон получаемого числа задается с помощью двух аргументов: нижняя и верхняя границы в виде целых чисел.
#random
Генерация случайных значений с помощью модуля secrets
Встроенный модуль
Интерфейс использования
Также в модуле есть класс
#secrets #random
Встроенный модуль
secrets
используется для генерации криптографически стойких случайных чисел, с помощью средств предоставляемых операционной системой. Что хорошо подходит при работе с паролями, токенами аутентификации.Интерфейс использования
secrets
довольно прост и схож с random
. Его основные функции:secrets.choice(collection)
- возвращает случайно выбранный элемент из переданной коллекции. secrets.randbelow(n)
- возвращает случайный int в диапазоне [0, n).secrets.randbits(n)
- возвращает целое число int состоящее из n случайных бит.secrets.token_bytes(n)
- возвращает случайную байтовую строку, содержащую n байт.token_hex(n)
- возвращает случайную строку из n байт в шестнадцатеричной формате.token_urlsafe(n)
- возвращает URL-безопасную строку, содержащая n байт, закодированную в Base64.Также в модуле есть класс
SystemRandom
, который поддерживает большинство функций определенных в random.#secrets #random
Генерация шумов Перлина
Шум перлина — это математический алгоритм по генерированию процедурной текстуры (градиентного шума) псевдо-случайным методом.
Для нас он может пригодится в разных ситуациях: от симуляции временных рядов разных показателей до генерации процедурного мира как в Minecraft.
Для Python уже существует библиотека-реализация этого алгоритма, называется она perlin-noise.
#random #perlin
Шум перлина — это математический алгоритм по генерированию процедурной текстуры (градиентного шума) псевдо-случайным методом.
Для нас он может пригодится в разных ситуациях: от симуляции временных рядов разных показателей до генерации процедурного мира как в Minecraft.
Для Python уже существует библиотека-реализация этого алгоритма, называется она perlin-noise.
pip install perlin-noise
Сначала мы создаем обьект генератора шумов, и задаем ему количество октав и seed для встроенного рандомизатора: noise = PerlinNoise(octaves=10, seed=1)
Обьявляем размер желаемой 2d матрицы: xpix, ypix = 100, 100
И используя списочное включение, генерируем 2d матрицу, где интенсивность значения от координат задает наш обьект генератора noise
: pic = [[noise([i/xpix, j/ypix]) for j in range(xpix)] for i in range(ypix)]
Пример картинки можно посмотреть в комментариях к этому посту. #random #perlin
3 интересных функции в random
Этот пост более для тех, у кого есть соответствующий бэкграунд и кто хочет знать про
Кстати, можете посмотреть на графиках результаты вызова этих функций по 100к раз тут, тут и тут.
#random
Этот пост более для тех, у кого есть соответствующий бэкграунд и кто хочет знать про
random
больше среднего.betavariate()
— используется для получения случайного числа с плавающей запятой от 0 до 1 на основе бета-распределения (применяется для статистических расчетов).gauss()
— генерирует случайное число с плавающей запятой на основе распределения Гаусса (используется в теории вероятности).paretovariate()
— возвращает случайное число с плавающей запятой на основе распределения Парето (используется в теории вероятности).Кстати, можете посмотреть на графиках результаты вызова этих функций по 100к раз тут, тут и тут.
#random
Использование модуля secrets для генерации случайных значений
Модуль
Применение модуля
-
-
-
-
-
-
Также, в модуле присутствует класс
#python #secrets #random
Модуль
secrets
, встроенный в Python
, предназначен для создания криптографически защищенных случайных чисел. Это особенно полезно для генерации надежных паролей, аутентификационных токенов и других безопасных данных, благодаря использованию возможностей операционной системы.Применение модуля
secrets
просто и напоминает работу с модулем random
. Вот некоторые из его функций:-
secrets.choice(collection)
выбирает и возвращает случайный элемент из предоставленной коллекции.-
secrets.randbelow(n)
генерирует случайное целое число в пределах от 0
до n
.-
secrets.randbits(n)
создает целое число из n
случайных бит.-
secrets.token_bytes(n)
выдает случайную последовательность байт длиной в n
байт.-
token_hex(n)
предоставляет случайную строку из n
байт, преобразованную в шестнадцатеричный формат.-
token_urlsafe(n)
генерирует URL-безопасную строку длиной в n
байт, закодированную в Base64
.Также, в модуле присутствует класс
SystemRandom
, поддерживающий большинство методов модуля random
.#python #secrets #random