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
Красивый вывод списка

Обычный формат вывода списка с помощью 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
Модуль time

В Python есть модуль с именем time для обработки задач, связанных со временем. Чтобы использовать функции, определенные в модуле, нам нужно сначала импортировать модуль.

Функция time() возвращает количество секунд, прошедших с начала эпохи.
🔗 Python tricks
Модуль sys

Модуль sys в Python предоставляет простые функции, которые позволяют нам напрямую взаимодействовать с интерпретатором. Функции, предоставляемые модулем sys, позволяют нам работать с базовым интерпретатором, независимо от того, является ли он платформой Windows, Macintosh или Linux.
🔗 Python tricks
manim

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

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

Результат выполнения кода из примера — видеофайл с анимацией данных преобразований.
🔗 Python tricks