Python Community
12.9K subscribers
1.24K photos
34 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
Что выведет код выше?
Anonymous Quiz
54%
True
15%
False
8%
-1
4%
-2
13%
Ошибку
6%
Узнать ответ
⚡️ Текстовый пользовательский интерфейс

textual
— модуль, позволяющий создавать интерфейс внутри терминала. Примеры использования приложения можно увидеть выше.

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

Как только установили модуль, попробуйте его: python -m textual.app. У него довольно большой функционал: например, разделение окон, взаимодействие с мышкой и так далее.

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

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

Условие:

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

Примеры:

remove_duplicates([1, 2, 1, 2]) -> []
remove_duplicates([1, 2, 1, 3]) -> [2, 3]
remove_duplicates([2, 5, 6, 7, 5, 2, 6]) -> [7]

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

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

Python очень связан со сторонними библиотеками, поэтому было бы неплохо научится их правильно импортировать:

1. import <package> — простой импорт пакета.

2. from <package> import <obj> — «вытаскивает» obj (функция, класс, переменная) из пакета. Если написать * на месте <obj>, то получим все возможности модуля (есть ограничение в виде __all__)

3. import <package> as <name> — импортирует модель и задаёт имя, записанное после as. Работает и from <package> import <obj> as <name>

4. import <package1>, <package2> — импортирует несколько пакетов в одну строку. Также работает с form и as.

#теория
Что выведет код выше?
Anonymous Quiz
7%
ae
41%
ab
23%
abce
10%
abe
18%
Узнать ответ
⚡️ Особенность булевых операций

На самом деле, операции and и or используются не только для объединения нескольких условий, но и для возвращения значений.

x or y — если x ложно (False), использует y, иначе x.

x and y — если x ложно, использует x, иначе y.

Таким образом можно сократить несколько строк в одну.

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

Условие:

Возьмите любое положительное целое число, переверните и прибавьте к исходному числу. Повторяйте, пока не получится число-палиндром (то, что читается одинаково слева направо и справа налево).

Пример:

alg192(48) -> 363 # 48 + 84 = 132; 132 + 231 = 363
alg192(23) -> 55 # 23 + 32 = 55
alg192(55) -> 121
# 55 + 55 = 110; 110 + (0)11 = 121

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

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

Есть модуль, позволяющий переводить JS-код в Python объекты, называется js2py.

Установка: pip3 install js2py

Модуль написан на чистом Python и у него нет зависимостей. По сути, это базовая реализация ядра Javascript.

Также вы можете использовать пакеты JS, словно это модули Python, с помощью функции require(name).

#миниурок #js2py
⚡️ Форматируем строку

Python ценит читаемость кода, и чтобы не приходилось совмещать строки с помощью + или непонятных %s придумали f-строки.

Пример — f"some {value}". Все выражения внутри {} переводятся в строку. Именно выражения, будет работать и такая строка: f"{a} + {b} = {a + b}".

Стоит заметить, что внутри {} бэкслеш (символы типа n, t, ") не поддерживается, придётся сохранять результат в отдельную переменную. Пустые выражения также не доступны.

Подробнее

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

Условие:

Вам нужно вернуть число в виде строки в расширенной форме. На входе всегда натуральное число.

Пример:

expanded_form(1) -> '1'
expanded_form(1234) -> '1000 + 200 + 30 + 4'
expanded_form(1001) -> '1000 + 1'

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

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

pyscreenshot
— кросс-платформенная библиотека для создания скриншотов. Важно, чтобы был установлен модуль pillow (pip install pillow).

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

Для захвата экрана используем grab(), если нужна определённая область, передайте bbox. После — открываем изображение с помощью show() или сохраняем с помощью save(file_path).

#миниурок #pyscreenshot
Что выведет код выше?
Anonymous Quiz
20%
1 2 3
7%
1 2
27%
3
33%
Ошибку
13%
Узнать ответ
⚡️ Ответ на предыдущую задачу
⚡️ Многострочные строки

Бывает полезно разделить одну строку на несколько, чтобы она легче читалась. Вот несколько способов:

1. Использование "" — позволяет перенести остаток строки на следующую линию кода.

2. Скобочки. При написании кода внутри скобочек "()", использование "" при переносе не обязательно.

2. Особые строки. Можно написать тройные кавычки (""" """), тогда текст будет таким же, как и внутри, с теми же переносами, отступами и символами (", ').

#теория