Библиотека питониста | Python, Django, Flask
40.5K subscribers
2.78K photos
75 videos
51 files
4.36K links
Все самое полезное для питониста в одном канале.

Список наших каналов: https://t.me/proglibrary/9197

Курс по ML: https://cl

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
Использование Event.wait() в многопоточности Python. 1 ч.

Модуль threading предоставляет Event(), которого можно использовать как time.sleep(). Однако преимущество Event() в том, что он более отзывчив. Причина в том, что когда событие установлено, программа сразу выходит из цикла. В Python с time.sleep() коду надо будет подождать завершения вызова sleep() до выхода из потока.
Всем привет!
Мы сделали анонимный сервис, который отбирает вакансии по вашим интересам.
Настройте личные фильтры: локация, точный технологический стек, и, конечно, не забудьте о деньгах.

Все самые подходящие предложения рынка – в @GetMeIT_bot
Функция sorted

Функция позволяет быстро отсортировать список или массив. Легкая, простая, полезная в повседневных задачах. Есть логический параметр reverse позволяющий инвертировать сортировку.
👍1
Аннотация типов

Дает нам возможность проставлять в коде "подсказки" для программиста, не используя комментарии через #

При большом количестве кода бывает, что просто забудешь какой тип должна принять / вернуть функция. Для этого и можно воспользоваться этой полезной фичей

А еще можно воспользоваться модулем mypy, чтобы находить ошибки несоответствия типов в коде
Использование Event.wait() в многопоточности Python. 2 ч.

Причина, по которой здесь лучше использовать wait() в том, что он не блокируется, в то время, как time.sleep() блокируется. Это значит, что при использовании time.sleep() вы заблокируете выполнение основного потока, пока тот будет ждать завершения вызова sleep(). wait() решает данную проблему.

Затем устанавливаются циклы для проверки, настроено ли событие event. Если это не так, тогда код выведет сообщение и немного подождет перед повторной проверкой. Для установки события можно воспользоваться комбинацией ^Ctrl+C. Как только событие установлено, worker() вернется, и цикл оборвется, завершив программу.
Примеры использования модуля os в Python

os.chdir() и os.getcwd()

Функция os.chdir позволяет нам вносить изменения в каталоге, который мы в данный момент используем в сессии.

Если вам нужно знать, какой путь вы в данный момент используете, для этой нужно вызвать os.getcwd(). Указанный код демонстрирует нам, что мы открыли директорию по умолчанию в Пайтоне, после запуска данного кода в IDLE.

После этого мы изменили папки, при помощи os.chdir().
Как обрабатывать исключения?

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

Если мы обратимся к урокам элементарной математики, то вспомним, что на ноль делить нельзя. В Пайтоне данная операция вызовет ошибку, как мы можем видеть в примере выше. Чтобы поймать ошибку, мы завернем операцию в оператор try/except.
PEP 665: Определение требований к установке для проектов Python.

https://proglib.io/w/f5f85694
Robust Python: Write Clean and Maintainable Code (2021)
Автор: Patrick Viafore
Количество страниц: 380

Кажется, что ваши проекты Python становятся все больше и больше? Вы чувствуете боль, когда ваша кодовая база расширяется и становится все сложнее отлаживать и поддерживать? Python - это простой язык для изучения и использования, и это также означает, что системы могут быстро вырасти за пределы понимания. К счастью, у Python есть функции, которые помогают разработчикам преодолеть проблемы с поддержкой кода.

Скачать книгу
Класс collections.deque

Класс deque реализует двухконечную очередь, которая поддерживает добавление и удаление элементов с обоих концов в течение О(1) времени.

Объекты deque представлены в виде двусвязных списков, что дает им превосходную производительность для входящих и выходящих элементов, но при этом у него плохая производительность O(n) при работе со случайно принимаемыми элементами в середине очереди.

В связи с тем, что deque поддерживает вставку и удаление элементов одинаково хорошо, они могут поддерживать и очереди и стеки. collections.deque это отличное решение, если вы ищите структуру данных очереди в Python в стандартной библиотеке.
Простая обрезка изображения в Pillow

Обозначим область обрезки изображения с помощью кортежа box=(left, upper, right, lower).

Верхней левой координате соответствует (x, y) = (left, upper), а нижней правой — (x, y) = (right, lower). Область, которую нужно обрезать — left <= x <right и upper <= y <lower, а пиксели x = right и y = lower не включаются.

Не забудьте, что box используется вместе со скобками ().
Pythonist - канал-движение питонистов в рунете.

Контент нашего канала:
1. Книги
2. Алгоритмы
3. Тесты по Python
4. Логические задачи
5. Проект Эйлера
6. Django
Python for SAS Users (2020)
Автор: Randy Betancourt, Sarah Chen
Количество страниц: 451

Пользователи, знакомые с программированием с Base SAS, теперь могут изучать Python на примерах. Описания кода в книге отображают программные конструкции SAS и шаблоны в их эквиваленты на Python. В первую очередь вы сосредоточитесь на pandas и вопросах управления данными, связанных с анализом данных.

Скачать книгу
Разбираем модуль sys.executable

sys.executable - путь к интерпретатору Python.

Значение sys.executable – это полный путь к интерпретатору Python. Это очень полезно, когда вы используете чей-то компьютер, и вам нужно узнать, где установлен Python. В некоторых системах данная команда не сработает, и выдаст пустую строку с надписью None.
Опрос разработчиков Django от 2021 года

Работаете с Django? Фонд программного обеспечения Django хочет услышать ваше мнение!

https://proglib.io/w/e260923e