Анимируем математические модели
Для Python есть замечательная библиотека Manim. Отлично подойдет для презентаций и визуального понимания работы тех или иных математических моделей.
Причем это не просто библиотека, а целый движок для работы с математической графикой. Функционал у него куда шире, чем просто визуализация, с помощью него можно создавать полноценные интерактивные презентации.
GitHub
Для Python есть замечательная библиотека Manim. Отлично подойдет для презентаций и визуального понимания работы тех или иных математических моделей.
Причем это не просто библиотека, а целый движок для работы с математической графикой. Функционал у него куда шире, чем просто визуализация, с помощью него можно создавать полноценные интерактивные презентации.
GitHub
Случайный элемент массива
Библиотека random годится не только для генерации случайных чисел, в ней также есть набор функций для множества случайных событий.
Одна из таких — функция choice, позволяющая выбрать случайный элемент итеррируемого объекта. Принимает в качестве аргумента объект последовательности.
Библиотека random годится не только для генерации случайных чисел, в ней также есть набор функций для множества случайных событий.
Одна из таких — функция choice, позволяющая выбрать случайный элемент итеррируемого объекта. Принимает в качестве аргумента объект последовательности.
Создание процессов
Класс
При создании экземпляра
Очень важно ожидать завершения всех созданных дочерних процессов. Для этого можно воспользоваться удобной функцией
Класс
Process из встроенного модуля multiprocessing позволяет создавать процессы без прямого вызова функции fork, про которую писали раньше на канале.При создании экземпляра
Proccess необходимо передать функцию, которую требуется исполнить в отдельном дочернем процессе и аргументы этой функции. Процесс будет создан после вызова метода start. Внутри метода start будет вызван fork и будет исполнена функция в отдельном процессе.Очень важно ожидать завершения всех созданных дочерних процессов. Для этого можно воспользоваться удобной функцией
join.Превью из длинного текста
Допустим, у нас есть какой-то длинный текст в виде строки и надо сделать превью этого текста, например, для сайта. Первое, что приходит на ум – использовать слайсинг строк.
Но, как видите, текст оборвался на полуслове, поэтому такой вариант отпадает. Такую проблему хорошо решает метод shorten из модуля textwrap.
Первым аргументом передается строка, вторым указывается количество символов, которое должен содержать результат. Также третьим аргументом можно передать заготовку, которая будет вставляться в конце обрезанной строки.
Допустим, у нас есть какой-то длинный текст в виде строки и надо сделать превью этого текста, например, для сайта. Первое, что приходит на ум – использовать слайсинг строк.
Но, как видите, текст оборвался на полуслове, поэтому такой вариант отпадает. Такую проблему хорошо решает метод shorten из модуля textwrap.
Первым аргументом передается строка, вторым указывается количество символов, которое должен содержать результат. Также третьим аргументом можно передать заготовку, которая будет вставляться в конце обрезанной строки.
Модуль diffflib
Модуль diffflib, как следует из названия, может использоваться для поиска различий или «различий» между содержимым файлов или других хешируемых объектов Python. Его также можно использовать для определения соотношения, показывающего степень сходства между двумя объектами.
Вы можете сравнить два хешируемых типа или последовательности, используя класс «Differ», доступный в модуле diffflib.
На примере выше, оператор импортирует класс Differ из модуля difflib. Затем две переменные строкового типа определяются с некоторыми значениями. Затем создается новый экземпляр класса Differ как «d». Далее с помощью этого экземпляра вызывается метод «compare», чтобы найти разницу между строками «line1» и «line2». Эти строки предоставляются в качестве аргументов для метода сравнения.
Модуль diffflib, как следует из названия, может использоваться для поиска различий или «различий» между содержимым файлов или других хешируемых объектов Python. Его также можно использовать для определения соотношения, показывающего степень сходства между двумя объектами.
Вы можете сравнить два хешируемых типа или последовательности, используя класс «Differ», доступный в модуле diffflib.
На примере выше, оператор импортирует класс Differ из модуля difflib. Затем две переменные строкового типа определяются с некоторыми значениями. Затем создается новый экземпляр класса Differ как «d». Далее с помощью этого экземпляра вызывается метод «compare», чтобы найти разницу между строками «line1» и «line2». Эти строки предоставляются в качестве аргументов для метода сравнения.
Как найти длину массива в Python
Чтобы узнать точное количество элементов, содержащихся в массиве, можно использовать встроенный метод len().
Он вернет вам целое число, равное общему количеству элементов в указанном вами массиве.
В этом примере массив содержал три элемента — 10, 20, 30. Поэтому длина массива равна 3.
Чтобы узнать точное количество элементов, содержащихся в массиве, можно использовать встроенный метод len().
Он вернет вам целое число, равное общему количеству элементов в указанном вами массиве.
В этом примере массив содержал три элемента — 10, 20, 30. Поэтому длина массива равна 3.
Чтение аудио-файлов в массив numpy
Одним из основных действий в начале аудиоанализа конечно же является чтение аудио-файла и выгрузка его звукового временного ряда в виде массива
Для чтения используем функцию
В качестве примера также добавили построение в matplotlib графика сигнала по полученным значениям.
Одним из основных действий в начале аудиоанализа конечно же является чтение аудио-файла и выгрузка его звукового временного ряда в виде массива
numpy. Для этих целей хорошо подходит модуль scipy.io.wavfile, входящий в состав библиотеки scipy и предоставляющий функции для чтения и записи wav файлов.Для чтения используем функцию
read, которая возвращает частоту дискретизации и массив numpy со значениями звукового давления для каждого кадра. Т.к. файлы формата wav могут состоять из одного(моно) либо из двух(стерео) каналов, то и массив numpy будет, соответственно, являться одномерным либо двумерным (по подмассиву на каждый канал).В качестве примера также добавили построение в matplotlib графика сигнала по полученным значениям.
Метод join
У строк в Python есть полезный метод join, позволяющий соединять строки. Он принимает на вход некий итерируемый объект, элементы которого тоже должны быть строками.
В результате метод join возвращает новую строку, которая собрана из элементов того самого итерируемого объекта. При этом в новой строке разделителем между элементами является та строка, у которой был вызван join.
У строк в Python есть полезный метод join, позволяющий соединять строки. Он принимает на вход некий итерируемый объект, элементы которого тоже должны быть строками.
В результате метод join возвращает новую строку, которая собрана из элементов того самого итерируемого объекта. При этом в новой строке разделителем между элементами является та строка, у которой был вызван join.
Делаем планировщик задач
Далеко не все знают про пакет
Основной его плюс в том, что он максимально интуитивный и имеет гибкий функционал. А еще
Логика методов в этом пакете понятна на примерах.
Далеко не все знают про пакет
schedule, который позволяет планировать задачи и повторять их через промежуток времени. Основной его плюс в том, что он максимально интуитивный и имеет гибкий функционал. А еще
schedule не требует внешних зависимостей и сам в целом легковесный. Логика методов в этом пакете понятна на примерах.