Python Community
12.9K subscribers
1.26K photos
37 videos
15 files
740 links
Python Community RU - СНГ сообщество Python-разработчиков

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ Логи и Loguru

Все слышали про встроенный модуль logging, но его довольно тяжело настраивать. Ему на замену пришёл loguru.

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

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

Все преимущества модуля вы, к слову, можете почитать в документации.

#миниурок #loguru
Что выведет код выше?
Anonymous Quiz
40%
True
13%
False
41%
Ошибку
6%
Узнать ответ
⚡️ Работаем с данными

agate
— библиотека для для анализа данных, их обработки и простого вывода. Раньше она называлась journalism.

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

Модуль считается упрощённой альтернативой NumPy и Pandas с более простым и читаемым кодом. Вы можете фильтровать данные, сортировать их, редактировать, суммировать и делать это довольно быстро.

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

Условие:

Вам нужно отсортировать набор чисел на основе их значимости. Определяется она суммой всех цифр числа. Если же веса одинаковые у двух чисел, то они сравниваются как строки ('ac' < 'bd').

Пример:

solution('56 65 100 99 68 86 180 90') -> '100 180 90 56 65 68 86 99'
solution('103 123 4444 99 2000') -> '2000 103 123 4444 99'
solution('2000 10003 9999 11 11 22 123') -> '11 11 2000 10003 22 123 9999'


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

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

Пользователи так и норовят запихнуть в важные поля что-то не то, так ещё и Python подливает масло в костёр со своей динамической типизацией. В этой ситуации помогает pydantic.

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

Модуль пользуется популярностью, имеет хорошую документацию и поддерживает PyCharm, VSCode. Код выглядит просто и выполняется быстро (сравнение тут).

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

#миниурок #pydantic
👍1
⚡️ Переводим с помощью гугла

В мире существует огромное количество языков и простому разработчику с ними не совладать. В таких ситуациях помогают переводчики, а доступ к одному из них даёт googletrans.

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

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

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

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

Условие:

Вам дан IP адрес, но в нём нет разделителей (точек). Вам нужно найти все возможные правильные IP-адреса. Как-то изменять цифры или их порядок нельзя. Количество цифр всегда будет меньше 13.

Пример:

restore_ip('25525511135') -> ['255.255.11.135', '255.255.111.35']
restore_ip('0000') -> ['
0.0.0.0']
restore_ip('1010011256') -> ['
10.100.112.56']

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

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

Люди, которые работали с JQuery, это пост для вас. Теперь в Python можно работать с XML файлами так же, как и в JQuery.

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

Поиск, манипуляция с атрибутами и работа с CSS проходит практически так же, как и в JQuery. После работы вы можете получить новый HTML, вызвав у главного объекта .html().

Поскольку это всё таки не JavaScript, у модуля есть ограничения, которые описаны в документации.

#миниурок #pyquery
Что выведет код выше?
Anonymous Quiz
23%
1
16%
9
29%
27
11%
81
22%
Узнать ответ
👎1
⚡️ Работаем с интернетом

Все известные протоколы хранятся в Tiwsted — сетевом движке. Он позволяет создавать и Web сервера, и SHH, mail клиентов. Но сил при этом требуется больше, по сравнению с специализированными библиотеками.

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

Работать вы можете как с TCP/UDP, так и более высокоуровневыми протоколами: HTTP, SMTP, SSHv2, DNS.

Посмотреть проекты с использованием twisted можно тут, а документация будет тут.

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

Условие:

Создайте функцию, которая определяет, является ли число дисариумом или нет. Число называется дисариумом, если сумма его цифр, возведенных в соответствующие положения, равна самому числу.

Пример:

is_disarium(75) ➞ False
# 7 ** 1 + 5 ** 2 = 7 + 25 = 32

is_disarium(135) ➞ True
# 1 ** 1 + 3 ** 2 + 5 ** 3 = 1 + 9 + 125 = 135

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

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