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
⚡️ Уменьшаем количество кода

В Python есть множество фич, о которых мы можем не догадываться. Одна из них — передача кортежа встроенным функциям.

Таким образом мы можем не писать несколько isinstance, а сжать всё до одного вызова. Такая же фишка работает и с Exception.

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

Условие:

Ваша задача — написать программу для создания блоков комментариев. Результат должен быть таким же, как и на картинке выше.

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

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

#Задачка_с_собеседования
⚡️ Ответ на предыдущую задачу
Что выведет код выше?
Anonymous Quiz
24%
1
23%
1 0
17%
1 0 2
22%
Ошибку
14%
Узнать ответ
⚡️ Веб фреймворк TurboGears

Он, по словам разработчиков, призван исправить множество ошибок Django и Rails, связанных с базами данных, их передачей и скоростью.

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

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

Также считается, что этот модуль легко расширяется от микрофреймворк до реального решения. Начать стоит с документации.

#миниурок #turbogears
⚡️ Приватные значения в Python

В Java, C#, C++ есть понятие, как приватные переменные, то есть к ним нельзя получить доступ из других функций.

В python все атрибуты глобальные, то есть можно получить доступ к любому объекту. Но Python-разработчики договорились об одном соглашении.

Вам не стоит работать напрямую с переменными или функциями, которые начинаются с '_' (_var) или '' (var). Также не используйте «магические методы» (len, add), окружённые '__'.

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

Условие:

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

Пример:

longest_seq([8, 2, 9, 3, 5, 8, 7]) -> 4 # 2 3 5 8 или 2 3 5 7
longest_seq([1, 2, 3, 4, 0, 9, 3]) -> 5
longest_seq([5, 4, 3, 2, 1]) -> 1

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

#Задачка_с_собеседования
⚡️ Ответ на предыдущую задачу
Что выведет код выше?
Anonymous Quiz
12%
3
13%
1 2 3 4
56%
1 2 3 4 5
13%
Ошибку
6%
Узнать ответ
⚡️ Быстро поднимаем сайт

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. Достаточно поменять ошибки местами и всё будет работать, как надо.

#теория