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
⚡️ Работаем с зависимостями

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
⚡️ Задачка с собеседования | #Medium

Условие:

Создайте функцию, которая принимает неограниченное кол-во аргументов и вычисляет наименьшее общее кратное. На вход будут идти целые неотрицательные числа. Если же функции ничего не передано, возвращайте 1.

Примеры:

lcm() -> 1
lcm(2, 5) -> 10
lcm(2, 3, 4) -> 12
lcm(20, 5, 4) -> 20

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

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

Чтоб не тратить время в пустую, подбирая данные для теста программы, делегируйте эти задачи Faker.

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

Создайте класс Faker() и вызовете функцию, которая вам нужна. Имя — name(), адрес — address(), текст — text(), цифру — random_digit().

Но стандартных методов вам может не хватить, поэтому импортируем и подключаем других поставщиков: fake.add_provider(internet).

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

#миниурок #faker
Новая профессия ближе, чем кажется! Программа «Python-разработчик» на том самом Хекслете со специальными новогодними бонусами!

Глубокий интенсивный курс на 8 месяцев: Python, HTML и CSS, фреймворк Django, алгоритмы, архитектура, базы данных SQL и сопутствующие инструменты: командная строка, Poetry, Git.
Онлайн-тренажер с моментальной автопроверкой.
Помощь наставника и 4 рабочих проекта на GitHub и практика в Open Source.
Учеба в комфортном темпе и мягкие дедлайны.

Бонус после окончания программы! 20 000 рублей на продолжение обучения на Хекслете или 6 месяцев доступа к 135+курсам для самостоятельного изучения.

Спешите в наш новогодний IT-маркет, чтобы оценить все профессии на Хекслете, выбрать свою и забрать полезные подарки!
⚡️ Составляем запросы

Для этого в python есть модуль requests. У него огромное количество преимуществ, которые вы можете найти в документации.

Первым делом вы выбираете нужные вам методы для составления запроса: GET — get(), POST — post(), DELETE — delete() и тому подобные. Все они принимают сначала ссылку.

Также,ьможно передать что-то серверу, для этого в get() передаём params, а в post() и другие — data.

После — вы получите ответ в виде класса Response. У него есть атрибуты, которые вам могут пригодиться: text, request, headers, content, json().

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

Условие:

Вам нужно создать систему лайков, как в Facebook. То есть функция принимает имена людей, которым нравится этот пост и возвращает его в виде красивой строки.

Примеры:

likes_format([]) --> "no one likes this"
likes_format(["Peter"]) --> "Peter likes this"
likes_format(["Jacob", "Alex"]) --> "Jacob and Alex like this"
likes_format(["Max", "John", "Mark"]) --> "Max, John and Mark like this"
likes_format(["Alex", "Jacob", "Mark", "Max"]) --> "Alex, Jacob and 2 others like this"

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

#Задачка_с_собеседования
💫 Не знаете что подарить друзьям/коллегам/себе на Новый Год? Как насчет новых знаний в IT?

Моя подборка онлайн-школ, с самыми выгодными новогодними предложениями:

🔹 Skillfactory - промокод studyitSF дает скидку 46% на все курсы.
🔹 Contented - промокод studyitCD дает скидку 51% на все курсы.
🔹 GeekBrains - сейчас все IT курсы здесь со скидками до 45%.

🎄Акции вот-вот закончатся, а промокоды действительны до самого конца года. Успейте выгодно приобрести подарок, который действительно пригодится!
⚡️ Ответ на предыдущую задачу