Библиотека питониста | Python, Django, Flask
40.3K subscribers
2.8K photos
79 videos
51 files
4.39K links
Все самое полезное для питониста в одном канале.

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

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

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
Примеры использования модуля 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
📚 Бесплатный вебинар от Skypro

📈 Аналитик данных — кто такой? Погружаемся в профессию с нуля

• Вы узнаете, кто такие аналитики данных и почему это востребованная профессия

• Поймете, как из любой профессии уйти в аналитику данных — даже если не разбираетесь в математике.

• Потренируетесь работать с Excel, сравните скорость и эффективность работы Excel и SQL на конкретном примере

👊🏻Мощный спикерский состав
📆 Время проведения: суббота, 14 августа в 11:00 по МСК.
🚀 Регистрация по ссылке: https://go.skyeng.ru/data_analytics_1408
Делаем многоуровневый словарь плоским при помощи собственной рекурсивной функции

Быстрый поиск в Google приводит нас на StackOverflow. Первый же ответ предлагает рекурсивную функцию, которая перебирает словарь и возвращает «уплощенный» экземпляр. Вдохновившись этой функцией, давайте создадим немного более продвинутую версию.

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

Мы можем быстро убедиться, что функция действительно возвращает плоский словарь, но как насчет производительности? Будет ли хорошей идеей использовать этот подход в продакшен-среде? Давайте запустим быстрый замер показателей скорости.

Здесь и во всех дальнейших замерах производительности мы будем пользоваться магической функцией IPython — timeit, а также memit из библиотеки memory_profiler.

P.S. Чтобы функция %memit заработала, сперва нужно запустить %load_ext memory_profiler.