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

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

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

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

Библиотека progressbar в Python предоставляет инструменты для создания и управления полосами прогресса (progress bars) в текстовом интерфейсе. С помощью этой библиотеки вы можете создавать индикаторы выполнения для долгих операций, чтобы пользователи могли видеть, сколько времени еще осталось до завершения задачи.

Для установки библиотеки progressbar вы можете использовать инструмент управления пакетами pip.

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

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

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

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

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

Основные возможности Qiskit:
— Создание и симуляция квантовых цепей.
— Работа с квантовыми алгоритмами (Гровера, Шора, квантовое Фурье-преобразование и др.).
— Оптимизация и компиляция квантовых программ.
— Интеграция с реальным квантовым оборудованием (квантовыми процессорами).
— Визуализация и анализ квантовых цепей.
🔗 Python tricks
Красивый вывод списка

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

Метод join преобразовывает список в строку, рассматривая каждый элемент как строку. Разделителем является та строка, для которой был вызван join. Он достаточно умен, чтобы не вставлять разделитель после последнего элемента.

Дополнительный бонус: join работает линейное время. Никогда не создавайте строку складыванием элементов списка в цикле for: это не просто некрасиво, это занимает квадратичное время!
🔗 Python tricks
Создание графиков

Речь пойдет о библиотеке Leather, которая используется для создания графиков. В отличие от ряда подобных библиотек, Leather способна взаимодействовать с широким разнообразием данных и выводить их через векторную графику.

В примере используются следующие функции:
leather.Chart() — создает график с заданным заголовком.
chart.add_dots() — добавляет точки на график. Также в ней можно указать функцию для определения цвета точек.
chart.to_svg() — позволяет сохранить график в формате .svg в указанный файл.

На втором изображении представлен результат работы программы.
🔗 Python tricks
Модуль Calendar

В Python есть встроенный модуль Calendar, который содержит полезные классы и функции для поддержки различных операций с календарем. По умолчанию модуль «Calendar» следует григорианскому календарю, где понедельник – это первый день (0) недели, а воскресенье –последний день недели (6).

Для печати календарей и управления ими в модуле Calendar есть 3 важных класса: Calendar, TextCalendar и HTMLCalendar.
🔗 Python tricks
Модуль os

Модуль os из стандартной библиотеки языка программирования Python обычно используется для работы с установленной ОС, а также файловой системой ПК. Он содержит массу полезных методов для взаимодействия с файлами и папками на жестком диске. Программы, работающие с модулем os, не зависят от типа ОС и являются легко переносимыми на другую платформу.
🔗 Python tricks
Модуль datetime

Модуль datetime предоставляет классы для обработки времени и даты разными способами. Поддерживается и стандартный способ представления времени, однако больший упор сделан на простоту манипулирования датой, временем и их частями.
🔗 Python tricks
PySide6

PySide6 — это библиотека для создания графических пользовательских интерфейсов (GUI) на языке программирования Python. Она представляет собой набор библиотек, позволяющих создавать приложения с графическим интерфейсом, которые могут работать на разных операционных системах, включая Windows, macOS и Linux.

PySide6 предоставляет множество виджетов и инструментов для создания сложных пользовательских интерфейсов. Вы можете изучать документацию PySide6 и создавать более сложные приложения с графическим интерфейсом на основе ваших потребностей.

🔗 Python tricks
list.insert

Метод insert() вставляет элемент в список по указанному индексу. Если индекс равен 0, элемент вставляется в начало списка. Если индекс равен 3, индекс вставленного элемента будет равен 3 (четвертый элемент в списке).

🔗 Python tricks
Traceback

Traceback (трассировка) — это сообщение об ошибке, которое Python выводит при возникновении исключения (exception). Это сообщение содержит информацию о том, какой исключительной ситуации произошла, в какой строке кода ошибка возникла и в каком файле.

Traceback очень полезен при отладке программ, так как он помогает определить место и причину возникновения ошибки. Вы можете использовать информацию из traceback, чтобы исправить ошибку в своем коде.

🔗 Python tricks
Kibana

Kibana — это инструмент визуализации данных, который обычно используется совместно с Elasticsearch для анализа и визуализации данных, хранящихся в Elasticsearch. Kibana предоставляет веб-интерфейс для создания и настройки дашбордов, графиков, таблиц и других визуальных элементов, позволяя пользователям анализировать данные и мониторить состояние системы.

Если вы хотите взаимодействовать с Kibana из Python, вы можете использовать библиотеки и инструменты для отправки запросов к Kibana API. Однако Kibana API в первую очередь предназначен для взаимодействия с веб-интерфейсом Kibana, поэтому некоторые задачи могут потребовать более сложных решений.

🔗 Python tricks
pandas.pivot_table()

pandas.pivot_table() — это функция в библиотеке Pandas для создания сводных таблиц (pivot tables) из данных в формате DataFrame. Сводная таблица позволяет агрегировать, суммировать, усреднять и выполнять другие операции над данными в DataFrame для создания более удобного и структурированного представления данных.

Вот её базовый синтаксис:

import pandas as pd

pivot_table = pd.pivot_table(data, values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, margins_name='All')

data: DataFrame, из которого вы хотите создать сводную таблицу.
values: Опционально, столбцы, по которым вы хотите провести агрегацию.
index: Опционально, столбцы, которые будут использоваться в качестве индексов сводной таблицы.
columns: Опционально, столбцы, которые будут использоваться в качестве столбцов сводной таблицы.
aggfunc: Опционально, функция, которая будет применяться к данным при агрегации. По умолчанию используется mean.

🔗 Python tricks
Модуль bisect

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

Модуль collections является частью стандартной библиотеки Python и предоставляет удобные и эффективные альтернативы встроенным типам данных, таким как списки, словари и множества. Он содержит множество классов и функций, которые упрощают работу с различными структурами данных, такими как namedtuple, deque, Counter, defaultdict, OrderedDict, ChainMap, UserList, UserDict и UserString.
🔗 Python tricks
Генераторы словарей и множеств

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

Понятие «list comprehensions» это такой способ уместить цикл for, блок if и присваивание в одну строку.

Если возвести в квадрат все элементы списка. Функция map принимает в качестве аргументов функцию и список и применяет функцию к каждому элементу списка.
🔗 Python tricks
Модуль array

Модуль array в Python предоставляет возможность создавать массивы различных примитивных типов данных, таких как целые числа, вещественные числа и другие. Поскольку массивы в этом модуле хранят элементы одного типа, они обычно используют память более эффективно, чем списки, и предоставляют быстрый доступ к своим элементам.

Основное назначение модуля array — предоставление эффективного механизма для хранения базовых данных, таких как бинарные данные или большие массивы чисел, когда стандартные списки не являются наилучшим выбором из-за требований к производительности или памяти.
🔗 Python tricks
Модуль itertools

Модуль itertools стандартизирует основной набор быстрых эффективных по памяти инструментов, которые полезны сами по себе или в связке с другими инструментами. Вместе они формируют «алгебру итераторов», которая позволяет лаконично и эффективно создавать специализированные инструменты на чистом Python.
🔗 Python tricks