Упаковка параметров с помощью urlencode
Довольно часто приходится работать с разнообразными API и совершать get-запросы с передачей множества параметров. Чаще всего составление запроса в коде выглядит примерно так:
Смотрится не слишком презентабельно, однако есть слегка более длинный, но значительно улучающий читаемость кода вариант – функция urlencode из из модуля urllib.
Довольно часто приходится работать с разнообразными API и совершать get-запросы с передачей множества параметров. Чаще всего составление запроса в коде выглядит примерно так:
url = 'https://example.com?item={}&size={}&color={}&amount={}'.format('t-shirt', 'M', 'white', 5)Смотрится не слишком презентабельно, однако есть слегка более длинный, но значительно улучающий читаемость кода вариант – функция urlencode из из модуля urllib.
👍5❤1
Чтение аудио-файлов в массив numpy
Одним из основных действий в начале аудиоанализа конечно же является чтение аудио-файла и выгрузка его звукового временного ряда в виде массива
Для чтения используем функцию
В качестве примера также добавили построение в matplotlib графика сигнала по полученным значениям.
#scipy #audio
Одним из основных действий в начале аудиоанализа конечно же является чтение аудио-файла и выгрузка его звукового временного ряда в виде массива
numpy. Для этих целей хорошо подходит модуль scipy.io.wavfile, входящий в состав библиотеки scipy и предоставляющий функции для чтения и записи wav файлов.Для чтения используем функцию
read, которая возвращает частоту дискретизации и массив numpy со значениями звукового давления для каждого кадра. Т.к. файлы формата wav могут состоять из одного(моно) либо из двух(стерео) каналов, то и массив numpy будет, соответственно, являться одномерным либо двумерным (по подмассиву на каждый канал).В качестве примера также добавили построение в matplotlib графика сигнала по полученным значениям.
#scipy #audio
🔥4👍2
ООП: композиция
Композиция — это отношение, при котором объекты одного класса связаны с объектами другого. Такой способ организации взаимодействия между классами также называется ассоциацией.
Как правило, в этом случае объект одного из классов (в примере выше это
Ассоциированные объекты зачастую могут циклически ссылаться друг на друга, что ломает стандартный механизм сборки мусора.
В таком случае необходимо использовать слабые ссылки из модуля
#классы #ооп
Композиция — это отношение, при котором объекты одного класса связаны с объектами другого. Такой способ организации взаимодействия между классами также называется ассоциацией.
Как правило, в этом случае объект одного из классов (в примере выше это
Salary) является полем другого (Employee). Сложного здесь, как вы видите, ничего нет.Ассоциированные объекты зачастую могут циклически ссылаться друг на друга, что ломает стандартный механизм сборки мусора.
В таком случае необходимо использовать слабые ссылки из модуля
weakref, о котором поговорим позже.#классы #ооп
❤6
Современный способ сериализации, десериализации и валидации данных
adaptix - гибкая и легко конфигурируемая библиотека для сериализации и десериализации данных.
Также, библиотека позволяет легко создавать свои правила для конвертации данных и группировать их, соответствуя принципу DRY.
Особое внимание стоит обратить на возможность преобразования стилей названий полей, что полезно в web приложениях.
Приятным бонусом будет то, что adaptix до двух раз быстрее чем pydantic v2 (бенчмарки).
#python #typing #adaptix
adaptix - гибкая и легко конфигурируемая библиотека для сериализации и десериализации данных.
adaptix работает с нативными dataclass, NamedTuple, TypedDict. Ваши модели не зависят от библиотеки и не требуют наследования от каких-либо специальных классов, позволяя моделям оставаться чистыми, а вам - следовать принципу инверсии зависимостей.Также, библиотека позволяет легко создавать свои правила для конвертации данных и группировать их, соответствуя принципу DRY.
Особое внимание стоит обратить на возможность преобразования стилей названий полей, что полезно в web приложениях.
Приятным бонусом будет то, что adaptix до двух раз быстрее чем pydantic v2 (бенчмарки).
#python #typing #adaptix
❤1
Обработка видео с помощью MoviePy
Пакет достаточно прост в освоении, и базовые принципы его использования можно увидеть на примере. В данном случае, мы открываем два видеофайла, соединяем их в один, обрезаем получившийся клип, уменьшаем громкость звука и сохраняем итоговый результат.
Стоит учитывать, что обработка видео, особенно больших файлов, может занять значительное время.
#python #moviepy
MoviePy - это удобный пакет для выполнения различных задач по редактированию видео, включая обрезку и склейку клипов, добавление видеоэффектов и редактирование аудиодорожки.Пакет достаточно прост в освоении, и базовые принципы его использования можно увидеть на примере. В данном случае, мы открываем два видеофайла, соединяем их в один, обрезаем получившийся клип, уменьшаем громкость звука и сохраняем итоговый результат.
Стоит учитывать, что обработка видео, особенно больших файлов, может занять значительное время.
MoviePy особенно полезен, когда необходимо автоматизировать обработку большого количества видео по единому алгоритму.#python #moviepy
👍2👎1