Python Community
13.1K subscribers
1.24K photos
26 videos
15 files
712 links
Python Community RU - СНГ сообщество Python-разработчиков

Чат канала: @python_community_chat

Сотрудничество: @cyberJohnny и @Sergey_bzd

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ Модуль Matplotlib

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

Скачать его можно с помощью:

pip install -U matplotlib

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

От одного просто графика до нескольких с разными градиентами, круговыми диаграммами, 3D-визуализацией и т.д. Более подробно расписано на официальном сайте.

Также он поддерживает несколько способов отображения данных, но вам потребуется скачать дополнительные библиотеки.

Кроме того, им поддерживается вывод в svg файл, в веб браузер, GTK3 и в приложение. Более подробно можно просмотреть введя команду matplotlib.use('?').
⚡️ Модуль TensorFlow

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

Изначально все вычисления представлены в виде графов, однако расчёт выполняется по запросу, что позволяет повысить производительность при высокой нагрузке.

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

Помимо всего этого, TensorFlow довольно популярный, что позволяет легко его изучить с помощью других материалов.
#gtts #мини_урок

Преобразовываем текст в речь

Есть разные интерфейсы API для преобразования текста в речь. Воспользуемся одним из самых популярных - Google Text to Speech, широко известный как gTTS API.

Библиотека поддерживает различные языки (русского к сожалению нет). С gTTS можно работать в консоли с помощью gtts-cli. Команда считывает текст, делает нужный запрос и записывает результат в файл.

Устанавливаем: pip install gTTS

Настраиваем: документация

Кому мало gTTS, потестируйте модуль google-cloud-texttospeech. Он имеет гораздо больший функционал, например он может сделать паузу в нужном вам месте.

Кто ещё какими Text to Speech модулями пользуется? Пишите в комментариях. Да, да, да у нас появились комментарии 👇👇👇
Что выведет этот код?
Anonymous Quiz
16%
1
9%
2
27%
3
22%
(4)
25%
Ошибку
⚡️ Редактируем видео с помощью Python

#миниурок #moviepy

В этом нам поможет библиотека moviepy — она позволяет склеивать, обрезать и даже накладывать эффекты на видео.

Код у библиотеки довольно простой. На примере выше мы обрезаем клип, потом склеиваем с другим видео, после изменяем размер.

Далее — записываем всю нашу работу в файл, используя несколько потоков.

Стоит обратить внимание, что модуль обрабатывает всё на CPU и, если ваших ресурсов не хватает, стоит воспользоваться выделенными серверами (к примеру, amazon или google) с большей производительностью.

Также, эта библиотека отлично подойдёт для выполнения простых, но повторяющихся операций.
⚡️ Создаём почтового бота для отправки email

Модуль smtplib позволяет настроить соединение между smtp сервером, чтобы работать с почтой. Установка не требуется, поскольку библиотека уже предустановлена в Python.

Полную документацию можно посмотреть здесь.

В этом примере мы взяли сервер Google (информацию по нему можно найти на сайте gmail), с помощью которого мы и создаём зашифрованное подключение.

Теперь осталось просто зайти в свою почту и разрешить доступ ненадёжных приложений к аккаунту.

Также, вы можете отправлять вложения (файлы, фотографии) прямо через этот модуль. Для этого сообщения составляются с помощью модуля email.

#миниурок #smtplib
Что выведет этот код?
Anonymous Quiz
3%
bill
8%
hillary
40%
password
49%
Ошибку
⚡️ Замеряем время выполнения программы

Каждый раз, когда пишется какой-либо код, возникает вопрос: «Насколько моя программа быстрая?».

И, чтобы получить на него ответ, можно ограничиться лишь парой строчек.

Первый вариант — использование модуля time, а точнее — его одноимённого метода time, как в примере на картинке выше.

time.time() возвращает текущее время. Вычитая время начала и конца, мы получаем период исполнение команды

Второй вариант — использование unix и команды time. Для этого просто напишите перед запуском кода слово time и сразу узнайте скорость выполнения всей программы.

Учтите, что второй способ не стоит использовать на веб-серверах и других программах, которые зависят от внешних обстоятельств.

#миниурок #time
⚡️ Перечисления в Python

Перечисления — это набор значений, позволяющих упростить понимание кода.

Они могут вмещать внутри себя небольшой функционал.

В этом нам поможет модуль enum. Он хранит в себе базовый клас Enum, с которым мы и будем работать.

Также существует класс IntEnum, который будет преобразовать все значения в числа.

Есть и декоратор — unique. Он позволяет задавать только уникальные значения.

Также, можно не задавать значения, а использовать метод auto, который сам изменит их. Он использует метод _generate_next_value_ класса.

Поскольку это самый обычный класс, вы так же можете добавлять собственные методы в перечислении.

#теория #enum
Что выведет этот код?
Anonymous Quiz
46%
o-l-l-e-H
14%
Hello
11%
d-l-r-o-W
17%
SyntaxError
12%
W-o-r-l-d
⚡️ Проверка текста на орфографические ошибки

spellchecker
— модуль с открытым исходным кодом для анализа текста. Работает он по тому же принципу, что и fuzzywuzzyРасстояние Левенштейна.

Установка: pip install pyspellchecker

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

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

spellchecker же имеет больше функций и может самостоятельно исправлять текст, как на примере выше.
Что выведет код выше?
Anonymous Quiz
34%
True True True
39%
True True False
18%
True False False
9%
True False True
⚡️ Замеряем время выполнения команд

В этом нам поможет поможет модуль timeit. Он уже есть в Python и его установка не требуется.

Одноименный метод timeit(comm, setup, number) — измеряет время выполняемой команды.

Метод number — это количество повторений;

А repeat() — это выполнение одной и той же команды несколько раз, возвращая массив с результатми.

Имеет те же самые параметры, что и timeit(), за исключением repeat — длины списка.