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

Условие:

Сколько n-значных чисел можно составить, используя цифры 5 и 9, в которых три одинаковые цифры не стоят рядом?

Пример:

solution(3) -> 6
solution(4) -> 10
solution(5) -> 16

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

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

Автор FastAPI придумал SQLModel, который используется для упрощения работы с базами данных. Он объединяет Pydantic и SQLAlchemy.

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

За счёт этого модуля мы можем упростить взаимодействие с данными из базы данных. А также получаем подсветку код везде и ошибки при несовместимости типов ещё до запуска программы.

Подробнее обо всех фичах библиотеки можно найти в документации.

#миниурок #sqlmodel
⚡️ Создаём свой модуль и пакет

В python любой файл считается модулем, и его можно импортировать. Чтобы избежать странного поведения модуля, проверяют __name__.

Пакет — папка с модулями. Она отличается файлом __init__.py, который выполняется при импорте любого пакета. С версии python 3.4 любая папка считается пакетом.

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

#теория
⚡️ Составляем HTTP запросы

Сервер мы уже написали, теперь можно переходить к клиенту. Для его создания нам нужен httpx.

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

Модуль очень похож на requests, поддерживает последовательное и асинхронное выполнение. Также может работать с HTTP/1.1 и HTTP/2.

Также, он поддерживает множество фич requests, которые описаны в документации, в разделе Features.

#миниурок #httpx
Что выведет код выше?
Anonymous Quiz
8%
9
13%
6
35%
5
29%
Ошибку
15%
Узнать ответ
⚡️ Работаем с таблицами в Python

И нет, речь пойдёт не про Excel, а про prettytable. Он позволяет создавать таблицы, делать с ними всё, что угодно и выводить их в разных форматах (консоль, JSON, HTML)

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

Самое приятное, что можно получать данные из базы данных (sqlite3) или из csv-файла, а не считывать всё вручную.

Вывод тоже настраивается очень легко, все свойства можно найти тут в разделе Style options.

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

Условие:

Вам дано число, вы можете только делить его на 2 или вычитать 1. Нужно узнать, сколько минимум шагов нужно сделать, чтобы получить 0 из полученного числа.

Пример:

min_steps(8) -> 4
min_steps(14) -> 6
min_steps(123) -> 12

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

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

С помощью mouse мы можем считывать и симулировать нажатия мышкой, перемещать её и прокручивать колёсико. Он может выполнять работу и не блокирует основной поток.

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

Модуль может записывать все движения и нажатия, работает на Windows и Linux (требует sudo), и у него нет никаких зависимостей. Также он он работает и на Python 2, и на Python 3.

#миниурок #mouse
⚡️ Асинхронная замена requests

С помощью aiohttp мы можем не только составлять запросы, а и создавать HTTP-серверы.

Установка: pip install aiohttp
Для более быстрой работы DNS запросов стоит установить aiodns: pip install aiodns.

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

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

Условие:

Некоторые числа имеют забавные свойства: 695 —> 6² + 9³ + 5⁴= 1390 = 695 * 2. Похоже на формулу (a ^ p + b ^ (p+1) + c ^ (p+2) + d ^ (p+3) + ...) = n * k, в которой вы получаете число и p, а вам нужно найти k. Если брать первый пример, то это будет 2. Если же такое число найти невозможно, то возвращаем -1.

Пример:

dig_pow(89, 1) -> 1 # 8¹ + 9² = 89 * 1
dig_pow(46288, 3) -> 51
dig_pow(92, 1) -> -1

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

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

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

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

Модуль действительно может решать множество задач, но новичкам будет в нём сложно разобраться, ведь это low level разработка.

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

#миниурок #pyaudio
Что выведет код выше?
Anonymous Quiz
14%
3
45%
4
6%
5
26%
Ошибку
8%
Узнать ответ