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

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ Ответ на предыдущую задачу
⚡️ Работаем с изображениями

Для этого идеально подойдёт pillow — мощный инструмент, имеющий множество возможностей и позволяющий быстро редактировать фото.

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

Модуль поддерживает почти все доступные форматы (png, jpg, webp, psd, pdf). Он может накладывать различные эффекты, сжимать фото или считывать информацию попиксельно.

На примере выше вы видите простой преобразователь изображений в jpeg.

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

#миниурок #pillow
⚡️ Создаём графические приложения

Идеальный инструмент для этого — tkinter.

Установка: тут могут быть небольшие проблемы, поэтому сперва стоит посетить этот сайт.

Tk — класс приложения, с него и начинается вся работа.

Frame — некие разделители, позволяющие отделять виджеты. Например меню и основной контент, могут быть разными фреймами.

Виджеты — Lable, Button и другие объекты для взаимодействия с пользователем.

Если вы желаете узнать о библиотеке больше, то стоит зайти на сайт документации.

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

Условие:

Написать функцию, которая будет возвращать все возможные расположения символов внутри строки

Пример:

permutations("a") -> ['a']
permutations("ab") -> ['ba', 'ab']
permutations("abc") -> ['abc', 'cba', 'bca', 'bac', 'cab', 'acb']

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

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

six
— модуль, позволяющий уменьшить разницу между Python 2 и Python 3. Таким образом, можно писать код и запускать его на разных версиях с минимальными изменениями.

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

Первым делом вам стоит узнать об константах PY2 и PY3, которые обозначают, в какой версии запущена программа.

В модуле также есть совместимость для списков и проверки типов. Подробнее — тут.

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

#миниурок #six
⚡️ Ускоряем выполнение кода

Для этого отлично подойдёт модуль concurrent.futures — он отлично подойдёт, например, для одновременного копирования файлов или параллельных вычислений.

Первым делом стоит определится, каким образом вы собираетесь разделять выполнения: с помощью потоков или используя процессы.

Далее — создайте экземпляр класса, желательно с помощью with, или самостоятельно вызвать shutdown.

С помощью submit нужно также создать задачу, чтобы получить класс Future.

Теперь с помощью Future вы можете отслеживать выполнение функции.

Например, можно запустить result() и приостановить основный поток в ожидании результата (остальные потоки будут продолжать работать).

Если хотите почитать подробнее, можете сделать это тут.

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

Условие:

Ваша задача — написать собственную реализацию генерации уникального пароля.

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

#Задачка_с_собеседования
⚡️ Одно из решений предыдущей задачи
Что выведет код выше?
Anonymous Quiz
11%
[]
27%
[1, 3, 5]
17%
[2, 4]
29%
Ошибку
17%
Узнать ответ
⚡️ Взаимодействуем с текстом

Для этого идеально подойдёт flashtext — модуль, позволяющий заменять или собирать информацию из строки.

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

Его основное преимущество над regex — скорость выполнения. Библиотека использует свой алгоритм и, таким образом, увеличивает производительность.

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

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

Условие:

Написать простую функцию, которая будет возвращать век, на основе года.

Пример:

get_century(2021) -> 21
get_century(1999) -> 20
get_century(2000) -> 20
get_century(101) -> 2

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

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

Идеальное решение для этого — модуль delorean.

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

Библиотека, по сути, является дополнением для обычного datetime, поскольку вы можете легко перевести её класс в datetime. Но, она добавляет свой функционал

Например, в модуле легче редактировать часы, минуты, дни, поддерживается перевод строки в объект с временем, а так же присутствуют другие упрощающие работу программисту функции (например: next_sunday).

Больше примеров можно найти на сайте документации.

#миниурок #delorean
👍1
Что выведет код выше?
Anonymous Quiz
12%
1
36%
2
10%
4
28%
Ошибку
14%
Узнать ответ