Валидаторы данных
Как правило, разработчики пишут регулярные выражения для обработки специфических строк. Но для таких данных как, почта или ссылка, изобретать велосипед не нужно.
Модуль
Помимо этого,
#python #validators
Как правило, разработчики пишут регулярные выражения для обработки специфических строк. Но для таких данных как, почта или ссылка, изобретать велосипед не нужно.
Модуль
validators
позволяет использовать уже готовые валидаторы для самых распространенных задач. В примере можете как раз увидеть валидацию почты и ссылок.Помимо этого,
validators
позволяет также работать с ipv4
, ipv6
, mac
адресами и многим другим. В итоге, имеем лаконичный и простой модуль с хорошим функционалом.#python #validators
👍13
Декоратор override
Это может быть полезно для:
— Повышения читабельности кода, так как сразу видно, какие методы переопределены.
— Выявления ошибок: если имя метода в дочернем классе не совпадает с именем в родительском, будет выдана ошибка.
— Проверки типов аргументов: декоратор гарантирует, что типы аргументов совпадают с базовым методом.
#python #decorators
@override
используется для переопределения методов в классах-наследниках. Он позволяет указать, что метод в подклассе переопределяет метод базового класса.Это может быть полезно для:
— Повышения читабельности кода, так как сразу видно, какие методы переопределены.
— Выявления ошибок: если имя метода в дочернем классе не совпадает с именем в родительском, будет выдана ошибка.
— Проверки типов аргументов: декоратор гарантирует, что типы аргументов совпадают с базовым методом.
#python #decorators
❤6
Сравнение двух аудиосообщений с использованием библиотеки Librosa
Важные замечания:
— Для точного сравнения аудиозаписей они должны иметь одинаковую продолжительность и аналогичные условия записи (громкость, уровень шума и т.д.).
— Возможно потребуется дополнительная предварительная обработка, например, нормализация громкости.
#python #librosa
Librosa
— библиотека, которая обеспечивает анализ и обработку звука. Сравнение производится путем вычисления характеристик MFCC (Mel Frequency Cepstral Coefficients), описывающих звуковую сигнатуру каждого аудио.Важные замечания:
— Для точного сравнения аудиозаписей они должны иметь одинаковую продолжительность и аналогичные условия записи (громкость, уровень шума и т.д.).
— Возможно потребуется дополнительная предварительная обработка, например, нормализация громкости.
#python #librosa
❤4🔥2
Модуль warnings
Модуль
Модуль
Кроме того, вы можете настроить различные параметры для управления предупреждениями, такие как фильтрация предупреждений определенного типа или их преобразование в ошибки.
#python
Модуль
warnings
предоставляет возможность управления предупреждениями, которые могут быть выведены во время выполнения программы.Модуль
warnings
полезен, когда необходимо предупредить пользователя о каком-либо условии в программе и это условие не требует создания исключения и завершения программы.Кроме того, вы можете настроить различные параметры для управления предупреждениями, такие как фильтрация предупреждений определенного типа или их преобразование в ошибки.
#python
❤1
Работаем с буфером обмена
Здесь всё просто: есть пакет
В этом пакете есть две основные функции —
Таким образом, можно прямо через код копировать вывод программы в буфер обмена вместо того, чтобы делать это вручную.
#python #pyperclip
Здесь всё просто: есть пакет
pyperclip
, который позволяют отправлять текст в буфер обмена вашего компьютера и получать его оттуда.В этом пакете есть две основные функции —
copy()
и paste()
, по названию которых понятно их предназначения.Таким образом, можно прямо через код копировать вывод программы в буфер обмена вместо того, чтобы делать это вручную.
#python #pyperclip
❤6👍2
Понимание различий между операторами сравнения == и is
Множество разработчиков сталкиваются с трудностями в отличии двух операторов сравнения:
Оператор
В
#python
Множество разработчиков сталкиваются с трудностями в отличии двух операторов сравнения:
==
и is
, что может привести к неожиданным ошибкам в коде.Оператор
==
сравнивает значения двух объектов, чтобы определить их равенство. В отличие от него, оператор is
проверяет, ссылаются ли две переменные на один и тот же объект в памяти, тем самым проверяя их идентичность.В
Python
из соображений эффективности происходит кэширование небольших чисел и коротких строк, что может привести к путанице и неочевидным результатам при использовании этих операторов.#python
❤8👍1
Разработка веб-приложений с использованием фреймворка Flask в Python
В данном примере мы создаем простое веб-приложение с одним маршрутом "/", который возвращает приветственное сообщение.
Для более подробной информации рекомендуется изучить официальную документацию Flask.
#python #flask
Flask
- это микрофреймворк для Python
, предназначенный для создания веб-приложений. Он предоставляет базовый набор инструментов и функций для обработки HTTP-запросов, управления сессиями, работе с шаблонами и многого другого. Одной из главных черт Flask
является его минималистичный подход, который позволяет разработчикам выбирать только необходимые им компоненты и расширения.В данном примере мы создаем простое веб-приложение с одним маршрутом "/", который возвращает приветственное сообщение.
Flask
также предоставляет множество расширений для добавления дополнительных функций, таких как аутентификация пользователей, работа с базами данных, обработка форм и многое другое.Для более подробной информации рекомендуется изучить официальную документацию Flask.
#python #flask
❤9
Отладка утечек памяти в Python приложении
Для отладки утечек памяти в
Оба инструмента просты в использовании и предоставляют мощные средства для выявления и устранения утечек памяти в вашем приложении.
#python #memoryprofiler #objgraph
Для отладки утечек памяти в
Python
можно использовать инструменты, такие как Memory Profiler
и objgraph
. Эти инструменты помогут вам выявить, какие объекты удерживают ссылки и могут вызывать утечки памяти.Memory Profiler
позволяет получить детальный отчет о потреблении памяти в каждой строке кода вашего скрипта. Чтобы воспользоваться этим инструментом, запустите вашу программу с помощью следующей команды:python -m memory_profiler my_script.py
objgraph
помогает визуализировать ссылки между объектами, что позволяет легко понять, какие объекты удерживают ссылки на другие объекты. Например, следующий код создаст изображение my_list.png
, на котором будут показаны все объекты, на которые ссылается my_list
, и все объекты, которые ссылаются на них.Оба инструмента просты в использовании и предоставляют мощные средства для выявления и устранения утечек памяти в вашем приложении.
#python #memoryprofiler #objgraph
❤5
Слайсы
Слайс (или срез, англ. slice) — это способ выбрать часть последовательности (например, строки, списка, кортежа) путем указания начального и конечного индексов, а также шага. Слайсы используются для извлечения подстрок, подсписков или подкортежей из исходной последовательности.
Слайсы полезны для работы с большими последовательностями данных и предоставляют удобный способ извлечения нужных элементов из них.
#python #slice
Слайс (или срез, англ. slice) — это способ выбрать часть последовательности (например, строки, списка, кортежа) путем указания начального и конечного индексов, а также шага. Слайсы используются для извлечения подстрок, подсписков или подкортежей из исходной последовательности.
Слайсы полезны для работы с большими последовательностями данных и предоставляют удобный способ извлечения нужных элементов из них.
#python #slice
👍8❤1
Используем Tortoise ORM для работы с базой данных в Python
Для использования
В этом примере мы создаем модель
#python #orm #tortoise
Tortoise ORM
- это современный и эффективный инструмент для работы с базами данных в Python
, который предоставляет асинхронный интерфейс доступа к данным. Он позволяет удобно выполнять операции CRUD (Create, Read, Update, Delete)
с данными и облегчает работу с базами данных.Для использования
Tortoise
требуется установить соответствующий пакет через pip
. После этого можно создавать модели данных, которые будут отображать структуру таблиц в базе данных.В этом примере мы создаем модель
User
, представляющую таблицу пользователей. Затем мы подключаемся к базе данных, создаем таблицу users
и выполняем операции CRUD
с данными пользователя.Tortoise ORM
обеспечивает удобный и интуитивно понятный интерфейс для работы с базами данных в асинхронных приложениях Python
.#python #orm #tortoise
🔥2
Делаем планировщик задач
К моему удивлению, далеко не все знают про пакет
Основной его плюс в том, что он максимально интуитивный и имеет гибкий функционал. А еще
Здесь на самом деле даже объяснять особо нечего, логика методов в этом пакете понятна на примерах.
#python #schedule
К моему удивлению, далеко не все знают про пакет
schedule
, который позволяет планировать задачи и повторять их через промежуток времени. Основной его плюс в том, что он максимально интуитивный и имеет гибкий функционал. А еще
schedule
не требует внешних зависимостей и сам в целом легковесный. Здесь на самом деле даже объяснять особо нечего, логика методов в этом пакете понятна на примерах.
#python #schedule
🔥6
Считаем ссылки на объект
В
Счетчик ссылок — это то, что помогает при проверке того, следует ли выполнять сборку мусора или нет. Сборщик мусора удаляет объект из памяти в случае, если на него ничего не ссылается.
Если на объект ссылается другой объект, то он имеет ненулевое значение ссылок и не может быть собран как мусор (если, конечно, вы не удалите вручную).
В примере выше продемонстрирован простой способ, как можно посмотреть количество ссылок у объекта.
#python #ctypes
В
Python
практически никогда не нужно волноваться об управлении памятью, потому что все это делается автоматически.Счетчик ссылок — это то, что помогает при проверке того, следует ли выполнять сборку мусора или нет. Сборщик мусора удаляет объект из памяти в случае, если на него ничего не ссылается.
Если на объект ссылается другой объект, то он имеет ненулевое значение ссылок и не может быть собран как мусор (если, конечно, вы не удалите вручную).
В примере выше продемонстрирован простой способ, как можно посмотреть количество ссылок у объекта.
#python #ctypes
❤6
PyJWT: Работаем с JSON Web Tokens в Python
В этом примере мы создаём JWT, который содержит идентификатор пользователя и срок его действия. Затем мы декодируем и проверяем токен, чтобы убедиться, что он ещё действителен и подлинен.
#python #pyjwt
PyJWT
— это библиотека Python
, предназначенная для кодирования, декодирования и проверки подлинности JSON Web Tokens (JWT)
.JWT
— это открытый стандарт (RFC 7519), который определяет компактный и независимый способ безопасной передачи информации между сторонами в виде JSON-объекта. Эта информация может быть проверена и доверена, так как она подписана цифровой подписью.В этом примере мы создаём JWT, который содержит идентификатор пользователя и срок его действия. Затем мы декодируем и проверяем токен, чтобы убедиться, что он ещё действителен и подлинен.
#python #pyjwt
❤2
Распознаем речь используя SpeechRecognition
Эта библиотека упрощает процесс интеграции голосовых команд и обработки аудиоданных в ваших проектах. Благодаря широкому спектру возможностей,
#python #speechrecognition
SpeechRecognition
— это библиотека на Python
, которая предоставляет возможность использовать API для распознавания речи от различных компаний, таких как Google, Microsoft, IBM и другие. Кроме того, она поддерживает работу в офлайн-режиме.Эта библиотека упрощает процесс интеграции голосовых команд и обработки аудиоданных в ваших проектах. Благодаря широкому спектру возможностей,
SpeechRecognition
подходит для создания приложений с голосовым управлением, интеллектуальных ассистентов и многого другого.#python #speechrecognition
❤1
Управление лимитом рекурсии в Python
В
Однако, используя модуль
В большинстве случаев предпочтительнее использовать итеративные подходы, такие как циклы, вместо рекурсии.
#python #recursion
В
Python
отсутствует оптимизация хвостовой рекурсии, что часто приводит к ошибке RecursionError
при разработке рекурсивных алгоритмов.Однако, используя модуль
sys
, можно узнать и даже изменить максимально допустимую глубину рекурсии. Несмотря на это, следует быть осторожным с увеличением лимита, так как каждый вызов рекурсии потребляет значительное количество памяти.В большинстве случаев предпочтительнее использовать итеративные подходы, такие как циклы, вместо рекурсии.
#python #recursion
pow()
В Python функция pow() используется для вычисления степени числа. Вот как она работает:
где: x — основание степени,
y — показатель степени,
z (необязательный параметр) — модуль, по которому производится вычисление.
Если z указан, то pow(x, y, z) возвращает (x y) % z. Если z не указан, то возвращается x y.
#python
В Python функция pow() используется для вычисления степени числа. Вот как она работает:
result = pow(x, y, z)
где: x — основание степени,
y — показатель степени,
z (необязательный параметр) — модуль, по которому производится вычисление.
Если z указан, то pow(x, y, z) возвращает (x y) % z. Если z не указан, то возвращается x y.
#python
👍2
Автоматизируем браузер с Pyppeteer
Пример использования
#python #pyppeteer
Pyppeteer
— это Python-библиотека, позволяющая управлять браузером с помощью инструмента Puppeteer
, изначально разработанного для Node.js
. Puppeteer
предоставляет возможность автоматизировать взаимодействие с веб-страницами, выполнять сценарии на основе браузера, делать скриншоты, создавать PDF-файлы и многое другое.Пример использования
Pyppeteer
для выполнения поиска в Google и сохранения результатов в виде скриншота доступен на фото.#python #pyppeteer
❤6
Метод setdefault()
Метод
Метод
— Ключ, по которому необходимо получить значение.
— Значение по умолчанию, которое будет добавлено в словарь, если ключ отсутствует.
Если ключ присутствует в словаре, метод возвращает значение, связанное с этим ключом. Если ключ отсутствует в словаре, метод добавляет ключ в словарь со значением по умолчанию, а затем возвращает это значение.
#python
Метод
setdefault()
в Python возвращает значение по указанному ключу из словаря. Если ключ отсутствует в словаре, метод добавляет ключ в словарь со значением по умолчанию, а затем возвращает это значение.Метод
setdefault()
имеет два параметра:— Ключ, по которому необходимо получить значение.
— Значение по умолчанию, которое будет добавлено в словарь, если ключ отсутствует.
Если ключ присутствует в словаре, метод возвращает значение, связанное с этим ключом. Если ключ отсутствует в словаре, метод добавляет ключ в словарь со значением по умолчанию, а затем возвращает это значение.
#python
👍3
Функция math.perm()
Он требует указания двух параметров:
Пример использования: расчет количества перестановок трех элементов из пяти. Это демонстрирует, сколько существует вариантов формирования трехэлементных подмножеств из пятерки.
#python
math.perm()
используется для определения количества возможных способов выбора и расположения m элементов из набора n элементов. Этот метод включен в модуль math
.Он требует указания двух параметров:
n
— общее число элементов в наборе, и m
— число элементов в каждой возможной выборке. Результатом выполнения функции является целочисленное значение, представляющее число таких перестановок. Если n
меньше m
, функция возвратит 0.Пример использования: расчет количества перестановок трех элементов из пяти. Это демонстрирует, сколько существует вариантов формирования трехэлементных подмножеств из пятерки.
#python
👍2❤1
Обработка видео с помощью MoviePy
Пакет достаточно прост в освоении, и базовые принципы его использования можно увидеть на примере. В данном случае, мы открываем два видеофайла, соединяем их в один, обрезаем получившийся клип, уменьшаем громкость звука и сохраняем итоговый результат.
Стоит учитывать, что обработка видео, особенно больших файлов, может занять значительное время.
#python #moviepy
MoviePy
- это удобный пакет для выполнения различных задач по редактированию видео, включая обрезку и склейку клипов, добавление видеоэффектов и редактирование аудиодорожки.Пакет достаточно прост в освоении, и базовые принципы его использования можно увидеть на примере. В данном случае, мы открываем два видеофайла, соединяем их в один, обрезаем получившийся клип, уменьшаем громкость звука и сохраняем итоговый результат.
Стоит учитывать, что обработка видео, особенно больших файлов, может занять значительное время.
MoviePy
особенно полезен, когда необходимо автоматизировать обработку большого количества видео по единому алгоритму.#python #moviepy
👍5