Python tricks | Хитрости Питона
5.75K 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
Метод partition()

Метод partition() — это метод строк (strings), который используется для разделения строки на три части на основе заданного разделителя. Этот метод возвращает кортеж из трех элементов:

— Часть строки перед первым вхождением разделителя.
— Сам разделитель.
— Часть строки после первого вхождения разделителя.

🔗 Python tricks
Pygal

Pygal — это библиотека для визуализации данных с помощью SVG.
Она позволяет строить разнообразные интерактивные графики, такие как линейные, столбчатые, круговые диаграммы.

Этот код создает объект диаграммы line_chart, добавляет в нее несколько рядов данных, задает заголовок, подписи по оси X и сохраняет результат в файл SVG.

В итоге получается интерактивный график изменения доли браузеров за определенный период.
🔗 Python tricks
Конструкция try-except-else

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

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

🔗 Python tricks
Модуль subprocess


Модуль subprocess позволяет создавать новые процессы. При этом он может подключаться к стандартным потокам ввода/вывода/ошибок и получать код возврата.

С помощью subprocess можно, например, выполнять любые команды Linux из скрипта. И в зависимости от ситуации получать вывод или только проверять, что команда выполнилась без ошибок.
🔗 Python tricks
Модуль fractions

Класс, представляющий собой рациональные числа. Экземпляр класса можно создать из пары чисел (числитель, знаменатель), из другого рационального числа, числа с плавающей точкой, числа типа decimal.Decimal, и из строки, представляющей собой число.
🔗 Python tricks
Модуль cmath

Модуль cmath – предоставляет функции для работы с комплексными числами. Помарает производить математические вычисления в вашей программе.
🔗 Python tricks
Библиотека dataclasses

Данные можно хранить в разных видах. Мы уже знаем про json, словари и списки. В пайтон есть еще один интересный подход - объектно ориентированный. Он часто намного удобнее и нагляднее. Для самого простого хранения и существует библиотека dataclasses. Она позволяет удобно хранить данные в ОЗУ, объекты создаются минимально возможным количеством строк кода. Ну и согласитесь, смотрится это очень удобно и красиво.
🔗 Python tricks
Сортировка пузырьком

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

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

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

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

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

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

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

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

Модуль glob находит все пути, совпадающие с заданным шаблоном в соответствии с правилами, используемыми оболочкой Unix. Обрабатываются символы "*" (произвольное количество символов), "?" (один символ), и диапазоны символов с помощью []. Для использования тильды "~" и переменных окружения необходимо использовать os.path.expanduser() и os.path.expandvars().
🔗 Python tricks
sets.isuperset()

Функция sets.isuperset() позволяет проверить, является ли один set подмножеством другого.
Она принимает в качестве аргумента другой set и возвращает boolean значение — True если первый set содержит все элементы второго, и False в противном случае.

Это полезно при работе с множествами для проверки включения, или при проверке покрытия тестами.
Также это используется для проверки включения при работе с данными, чтобы убедиться, что один набор данных полностью покрывает другой по каким-либо критериям.
🔗 Python tricks
Colorama

Colorama — это библиотека для Python, которая предоставляет простой способ добавить цвета и стили текста при выводе в терминале. Она особенно полезна для создания красочного и информативного текстового интерфейса в командной строке.

Для использования Colorama вам нужно установить библиотеку с помощью pip:

pip install colorama

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

🔗 Python tricks
Memray

Memray - это библиотека для профилирования памяти и она является важным инструментом оптимизации производительности Python программ.

Библиотека отслеживает выделение и освобождение памяти при работе программы, поддерживает отслеживание ссылок на объект, применятся для профилирования на серверах и в виртуальных окружениях.

В примере мы используем декоратор memray.profile, который будет отслеживать все выделение и освобождение памяти внутри функции my_func().

При запуске этого кода memray выведет отчёт.
🔗 Python tricks
uuid

Стандартный модуль uuid — быстрый и простой способ сгенерировать UUID (universally unique identifier, глобально уникальный идентификатор).

Так мы создаём случайное 128-битное число, которое почти наверняка будет уникальным.

Существует более 2¹²² возможных UUID. Это более 5 ундециллионов или 5,000,000,000,000,000,000,000,000,000,000,000,000.

Вероятность нахождения дубликатов в заданном наборе крайне мала. Даже при наличии триллиона UUID вероятность того, что среди них есть дубликат, гораздо меньше, чем один к миллиарду.

Вполне недурно для двух строк кода.
🔗 Python tricks
Модуль copy

Операция присваивания не копирует объект, он лишь создаёт ссылку на объект. Для изменяемых коллекций, или для коллекций, содержащих изменяемые элементы, часто необходима такая копия, чтобы её можно было изменить, не изменяя оригинал. Данный модуль предоставляет общие (поверхностная и глубокая) операции копирования.
🔗 Python tricks
issubclass()

Функция принимает два параметра:
class — класс, который нужно проверить.
classinfo — класс, тип или кортеж классов и типов.

issubclass() проверяет, является ли аргумент класса (class) подклассом другого класса (classinfo) и возвращает значение типа bool (True/False).
🔗 Python tricks
Модуль glob

Модуль glob находит все пути, совпадающие с заданным шаблоном в соответствии с правилами, используемыми оболочкой Unix. Обрабатываются символы "*" (произвольное количество символов), "?" (один символ), и диапазоны символов с помощью []. Для использования тильды "~" и переменных окружения необходимо использовать os.path.expanduser() и os.path.expandvars().
🔗 Python tricks
Vibora

Vibora — это фреймворк для создания веб-приложений на языке Python. Он является асинхронным и предоставляет инструменты для создания высокопроизводительных веб-серверов и веб-приложений.

В этом примере мы создаем экземпляр приложения Vibora, определяем обработчик маршрута для корневого URL ("/"), который возвращает строку «Привет, мир!», и запускаем веб-сервер на порту 8000.
🔗 Python tricks