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

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ Генератор коротких ссылок

Если ваш проект загружает файлы в интернет, было бы классно ими поделиться. Длинные ссылки отправлять не совсем прилично, поэтому стоит воспользоваться pyshorteners.

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

Shortener()
— всё начинается с этого класса. Никаких аргументов он не принимает.

После — выбираете интересный вам сервис, который можете узнать из документации и передаём через short(link) ссылку.

Так скажем, добро пожаловать на https://clck.ru/Yfzua.

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

Условие:

Вам необходимо создать функцию, угадывающую случайное число, которое будет после вызова функции random.randint(1, 6). Удачи ;)

Примеры:

print(get_future() == random.randint(1, 6)) -> True
print(get_future() == random.randint(1, 6)) -> True
print(get_future() == random.randint(1, 6)) -> True

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

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

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

Но этого знать недостаточно, поскольку у Python есть соглашение:

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

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

• Следующие строки должны быть одним или несколькими абзацами, описывающими всё самое важное об объекте.

Ну а если вы хотите получить документацию из приложения, то возьмите его из __doc__.

#теория
⚡️ Работаем с текстом

TextBlob
— библиотека для Python для обработки естественного языка (ещё его называют NLP).

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

Начинается всё с класса TextBlob(text), который занимается обработкой текста. Далее пойдёт речь о его атрибутах:

tags — возвращает список из тегов части речи.

words — возвращает слова, из которых состоит текст. А sentences — предложения.

Это очень полезное API для обучения ИИ. Если вам стало интересно, то обязательно посетите документацию.

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

Условие:

Вам необходимо написать функцию, которая форматирует имена как 'Mike, Jane & Lisa'. Все имена отделяются запятой, кроме двух последних.

Примеры:

namelist(['Mike', 'Jane', 'Lisa']) -> 'Mike, Jane & Lisa'
namelist(['Jane', 'Lisa']) -> 'Jane & Lisa'
namelist(['Mike']) -> 'Mike'
namelist([]) -> ''

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

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

poetry
— инструмент для упаковки и управления зависимостями. Он позволяет вам объявлять библиотеки, которые использует проект и управлять ими (установка, обновление).

Установка: есть много особенностей, поэтому об этом советую посмотреть тут.

После установки проверьте, всё ли работает хорошо: poetry --version. У вас должно быть что-то такое: Poetry 0.12.0.

После этого — создаём проект poetry new poetry-demo или же, если вы не хотите переносить всё в новую папку, заходим в уже существующий проект и пишем poetry init.

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

#миниурок #poetry
⚡️ Переводим изображение в pdf

img2pdf
— утилита, позволяющая без потерь перевести набор изображений в pdf файл.

Установка: pip3 install img2pdf

Работает она из терминала: img2pdf img1.png img2.jpg -o out.pdf. Или из Python, как на примере выше.

Если вам стало интересно, то советую посетить эту страницу, где рассказывается о преимуществах модуля.

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

Условие:

Вам нужно написать функцию, которая рассчитывает время, нужное всем покупателям, чтобы купить свои товары. На вход идёт список с целыми числами. Каждый элемент — покупатель, а значение — время, необходимое для оформления заказа. Также функция принимает количество работающих касс. Возвращает функция целое число — всё необходимое время для оформления заказов всех покупателей.

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

Примеры:

queue_time([5, 3, 4], 1) -> 12
# работает одна касса, общее время — сумма списка
queue_time([10, 2, 3, 3], 2) -> 10
# На первой кассе пройдёт первый человек (10), а на второй — 2й, 3й, 4й (2 + 3 + 3 = 9). Общее время — 10
queue_time([2, 3, 10], 2) -> 12
# На первую кассу пойдёт 1й человек, 2й — на вторую, 3й — на первую

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

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

pytest
— очень мощный инструмент для проверки кода на ошибки. С ним код читается легко, а тестирование упрощается.

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

Для начала мы импортируем pytest в файле с проверяющим кодом, называем его test_file.py и вводим в терминал pytest.

Модуль захватывает только файлы, что называются test_*.py или *_test.py, и выполняет функции, которые начинаются с test.

Если вам стало интересно, то обязательно зайдите на документацию проекта.

#миниурок #pytest
⚡️ Визуализируем данные

Визуализация — очень удобная штука в работе Big Data, и для этого есть классный инструмент — matplotlib.

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

plt.subplots()
— создаёт фигуру и задаёт настройки для неё. Возвращает фигуру и оси, с которыми мы будем работать. После — заполняем его информацией с помощью axis.plot().

В примере модуль использует NumPy, но работает он и с простыми списками. Проект действительно полезный, поэтому советую почитать документацию или попробовать его на Binder.

#миниурок #matplotlib