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

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ Создаём свой модуль и пакет

В 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

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

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

С помощью 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%
Узнать ответ
⚡️ Что такое декоратор?

Это — вызываемый объект (функция, класс с call), способный менять поведение другой функции, при этом оставляя код внутри неё таким же.

Создаются они довольно просто, а используются практически везде. Это функция, которая возвращает функцию, которая меняет поведения другого объекта (см. пример).

Таким образом кодом становится намного легче управлять, добавлять новые фичи и контролировать поведение отдельных частей программы.

#теория
Что выведет код выше?
Anonymous Quiz
9%
[]
23%
hello
9%
Ничего
47%
Ошибку
12%
Узнать ответ
⚡️ Задачка с собеседования | #Medium

Условие:

Вам нужно узнать, является ли предложение панграммой? Это предложения, в котором используются все буквы алфавита как минимум раз

Пример:

is_pangram('The quick brown fox jumps over a lazy dog') -> True
is_pangram('Sphinx of black quartz, judge my vow') -> True
is_pangram('not pangram') -> False

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

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