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

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ Исправляем неграмотных англичан

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

Установка: pip3 install -U git+https://github.com/PrithivirajDamodaran/Gramformer.git

В основном вам нужны только методы correct(text) и highlight(text) класса Gramformer(), используемые для исправления и генерации XML кода подсветки ошибок.

P.S. Он обучен только на предложениях, поэтому пока не подходит для абзацев, а уж тем более статей.

#миниурок #gramformer
⚡️ Пишем бота для gmail

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

Нам нужны сервера Google, поэтому заходим сюда и ищем их. После — заходим с использованием своего аккаунта Google.

Учтите, что вам нужно будет дать доступ роботу для управления вашим аккаунтом. Чтобы отправлять вложения, стоит также почитать про email.

Подробнее, как обычно, можно почитать в документации.

#миниурок #smtplib
⚡️ Задачка с собеседования | #Easy

Условие:

Вам нужно узнать, является ли число квадратом какого-то числа. На вход идёт целое число.

Пример:

is_square(4) -> True
is_square(2) -> False
is_square(-5) -> False

📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇

#Задачка_с_собеседования
⚡️ Ответ на предыдущую задачу
⚡️ Создаём CLI API с помощью click

Это модуль, позволяющий взаимодействовать с программой из терминала. Он поставляется с хорошими настройками по умолчанию, но легко настраивается.

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

Библиотека самостоятельно сгенерирует страницу помощи (--help) на основе полученных команд и их параметрах.

За счёт декораторов, мы пишем минимум кода, чем не может похвастаться argparse. Из минусов — нет автозаполнения, но такое решение аргументируется тут.

Подробнее в документации

#миниурок #click
⚡️ Префиксы строк

В Python можно встретить определение строки по типу r'some t string' или b'send data', но что r, b, f значат?

r'raw string' — означает, что строка не обрабатывается. То есть t, n, ' останется именно таким, как оно записано.

b'Bytes literal' — переводит строку, которая содержит только символы ASCII, в набор байтов.

f'score: {score}' — форматирует строку на основе правил, описанных тут.

#теория
⚡️ Сравнение последовательности

Такие типы, как строки, кортежи или списки можно сравнивать: больше они или меньше. Но вот как это происходит?

Все значения внутри последовательности сравниваются по очереди. В первом примере, 1 < 1 => False; 2 < 2 => False; 3 < 4 => True, в итоге результат будет True.

Стоит отметить, что сравнивать можно только одни и те же типы. список > список, строка < строка. Кстати, символы строки сравниваются с использованием ord(char).

#теория
⚡️Определяем кодировку текста

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

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

Можно запустить приложение из терминала: chardetect somefile или импортировать его в python: from chardet import detect.

Передаёте ему текст и ожидаете результата. Подробнее можно почитать в документации.
⚡️ Задачка с собеседования | #Easy

Условие:

Написать функцию, которая будет возвращать столетие на основе года.

Пример:

get_century(2022) -> 21
get_century(2000) -> 20
get_century(1910) -> 20
get_century(101) -> 2

📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇

#Задачка_с_собеседования
⚡️ Ответ на предыдущую задачу
⚡️ Обрабатываем естественный язык

С помощью SpaCy мы можем анализировать тексты на русском, английском и других языках: таким образом ИИ может «понимать» содержимое текста.

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

На данный момент модуль поддерживает более 64 языков, их вы можете посмотреть здесь. Модуль отлично подходит новичкам, желающим изучить NLP.

Также он отлично совместим с моделями PyTorch и TensorFlow. Подробнее — в документации.

#миниурок #spacy
⚡️ Генерация фальшивых данных

Mimesis
занимается генерацией данных, не несущих никакой смысловой нагрузки. Это могут быть адреса, имена пользователей, по типу адресов, имён или IMEI.

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

Узнать о всех поддерживающихся типах данных вы можете тут. Также модуль поддерживает несколько языков, их вы можете посмотреть здесь.

Вы, к тому же, можете создавать JSON или XML файлы, фальшивые токены и другое. Об этом всём — в документации.

#миниурок #mimesis