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
Что выведет код выше?
Anonymous Quiz
12%
3
13%
1 2 3 4
56%
1 2 3 4 5
13%
Ошибку
6%
Узнать ответ
👍1
⚡️ Быстро поднимаем сайт

CherryPy — это минималистичный веб-фреймворк для Python. Его удобно использовать, например, для создания тестового API.

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

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

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

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

Условие:

У вас есть строка, вам нужно найти самую длинную подстроку палиндром.

Пример:

longest_palindrome('babad') -> 'aba'
longest_palindrome('cbbd') -> 'bb'

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

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

Во время работы могут возникнуть неожиданные ситуации, которые приводят к ошибкам. Обрабатывать их можно с помощью try/catch/else/finally.

try — блок кода, в котором может быть ошибка.

catch SomeException as e — реагирует на ошибку SomeException и записываем её в e. Их может быть несколько для разных ошибок.

else — если никаких проблем не возникло, выполняется код внутри этого блока.

finally — выполняется всегда, независимо, была ошибка или нет.

Кстати, порядок catch`ей имеет значение Обработка идёт сверху вниз. KeyError наследует LookupException и, в нашем случае, выведется lookup. Достаточно поменять ошибки местами и всё будет работать, как надо.

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

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

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