Python tricks | Хитрости Питона
5.77K subscribers
2.21K photos
26 videos
1 file
2.52K links
Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты.

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

Мы на платформе: https://telegram.me/python_tricks

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
Библиотека PyQt6

PyQt6 — это кроссплатформенная библиотека для создания графических пользовательских интерфейсов. Она позволяет разрабатывать приложения с графическим интерфейсом для desktop и mobile устройств.

PyQt6 основана на фреймворке Qt и использует систему сигналов и слотов для организации взаимодействия в приложении.
С помощью этой библиотеки можно создавать оконные приложения, виджеты, диалоги, меню и другие элементы GUI.

PyQt6 широко применяется для разработки кроссплатформенных приложений под Windows, Linux и macOS.

🔗 Python tricks
Библиотека PyGObject

PyGObject — это библиотека, которая предоставляет привязки к библиотеке GObject используемой в GNOME.
Она позволяет использовать GTK+ и другие библиотеки GNOME для создания графических интерфейсов пользователя.

PyGObject можно использовать для разработки кроссплатформенных GUI-приложений, которые будут работать в средах Linux, Windows и macOS.
С его помощью можно создавать оконные приложения, виджеты, диалоги и другие элементы интерфейса на языке Python.

🔗 Python tricks
Конструкция try-except-else

Конструкция try-except-else используется для обработки исключений. Особенность этой конструкции заключается в else, этот блок выполняется, если в блоке try не было исключений.

В этом примере в блоке try происходит деление на ноль, которое генерирует исключение ZeroDivisionError. Оно перехватывается в блоке except и обрабатывается. Блок else не выполняется, так как было исключение.

🔗 Python tricks
Сортировка пузырьком

Сортировка пузырьком — это простой алгоритм сортировки, основанный на сравнении и обмене соседних элементов.

Во время сортировки сравниваются два соседних элемента массива, если левый элемент больше правого, они меняются местами.
Проход по элементам повторяется до тех пор, пока не будут отсортированы все элементы.

Сложность алгоритма O(n^2) — квадратичная.

Реализация сортировки пузырьком представлена на изображении.

🔗 Python tricks
Библиотека SymPy

SymPy
— это библиотека для символьных вычислений. Она позволяет работать с математическими объектами, такими как числа, переменные, выражения, уравнения и функции на символьном уровне.

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

Основные области применения SymPy:
— Аналитическая геометрия, алгебра и теория чисел.
— Решение уравнений и систем уравнений.
— Символьное дифференцирование и интегрирование.
— Работа с пределами, рядами, преобразованиями.
— Векторный анализ, тензоры.
— Физические вычисления и моделирование.
— Теория вероятностей и статистика.
— Обработка и визуализация математических данных.

🔗 Python tricks
Geopandas

Geopandas — это библиотека для работы с геопространственными данными. Она базируется на библиотеке Pandas и интегрируется с другими инструментами геоинформатики, такими как Shapely, Fiona, PyProj.

Geopandas позволяет эффективно работать с географическими данными в виде векторных и растровых слоев.

Основные области применения:
— Картография и визуализация пространственных данных.
— Анализ и обработка данных, содержащих географическую привязку.
— Работа с геометрическими объектами: точки, линии, полигоны.
— Преобразование и проектирование геоданных.
— Пространственный анализ и геостатистика.
— Моделирование географических процессов.
— ГИС-приложения и веб-картография.

🔗 Python tricks
list.extend

Метод extend() добавляет все элементы итерируемого объекта (список, кортеж, строку и т. д.) в конец списка. Данный метод изменяет исходный список. Он не возвращает никакого значения.

🔗 Python tricks
Pymystem3

Библиотека от Яндекса имеет точно такой же функционал, как и Pymorphy2, и является ее альтернативой. Pymystem3 быстро и качественно распознает части речи и лексемы слова.

🔗 Python tricks
Loguru

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

🔗 Python tricks
dateparser

Инструмент находит и определяет даты в массиве данных. Он работает с разными форматами записи: и строгими, и «человекопонятными». Dateparser сможет найти дату и формата «25.06.1999», и формата «вчера» или «месяц назад». В основном библиотека используется при парсинге данных.

🔗 Python tricks
Pydantic

Помогает не только обрабатывать данные: она вносит в Python строгую типизацию и четкость в работе. Но обычно ее используют для валидации и парсинга: Pydantic проверяет и приводит данные из других сервисов к единому виду. Разнородные данные сложно воспринимать и программе, и человеку.

🔗 Python tricks
Дорогие подписчики, с праздником!

🔗 Python tricks
Loguru

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

🔗 Python tricks
responses

Выше мы говорили про requests — это ее противоположность. Responses помогает генерировать различные ответы на запросы и затем анализировать их результаты. В отличие от requests, responses используется в основном при тестировании — помогает проверять, как приложение реагирует на разные ответы внешнего сервиса.

🔗 Python tricks
Инкапсуляция

Инкапсуляция — это принцип ограничения доступа к части реализации объекта от внешнего кода.
Это позволяет предотвратить непреднамеренное изменение внутреннего состояния объекта.

В Python инкапсуляция реализуется с помощью:
— Префикса _ в именах атрибутов и методов класса. Это сигнализирует, что они предназначены только для внутреннего использования в классе.
— Двойного префикса __ в именах атрибутов методов (например, __private_method). Такая запись делает их недоступными извне класса.
Свойств (property) для контролируемого доступа к атрибутам класса.

🔗 Python tricks
Моржовый оператор (Walrus Operator)

Моржовый оператор (Walrus operator) — это оператор :=, введенный в версии 3.8. Он позволяет одновременно присвоить значение переменной и вернуть его.

Синтаксис выглядит так: имя_переменной := выражение. Справа вычисляется выражение и присваивается переменной слева
Переменная доступна в остальной части выражения после оператора.

Это удобно при работе с выражениями со сложными вложенными операциями. Позволяет избежать повторного вычисления.

🔗 Python tricks
Библиотека scikit-image

scikit-image — это библиотека для обработки изображений. scikit-image также удобна для применения в задачах компьютерного зрения.

Библиотека содержит множество полезных инструментов для работы с изображениями, включая:
— Фильтрация и преобразования изображений (размытие, поворот, масштабирование и т. д.).
— Сегментация изображений и анализ регионов.
— Обнаружение особых точек и линий (краев, углов, границ).
— Морфологические операции.
— Анализ текстур и цветов.
— Восстановление изображений и удаление шумов.

🔗 Python tricks
filter

Функция filter() выбирает элементы из итерируемого объекта (списка, кортежа и т. д.) на основе выходных данных функции. Функция применяется к каждому элементу итерируемого объекта.

🔗 Python tricks
py-spy

Следит за тем, что и как выполняет программа, сколько времени и ресурсов она тратит на разные задачи, мониторит ее работу. Py-spy сначала обращается к системе компьютера, а затем сохраняет и выводит полученную информацию, которую можно использовать в работе. Вам не нужно перезагружать или модифицировать работающую программу: инструмент помогает получать информацию, не затрагивая исходный код. Библиотека удобна при поиске багов, особенно если нельзя переписать код.

🔗 Python tricks
Pympler

Мониторит и анализирует память, которая используется при исполнении кода программ на Python. Инструмент находит ее избыточное потребление, утечки и другие баги. С помощью Pympler можно узнать все о размере и длительности процессов приложения на Python за время работы.

🔗 Python tricks