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

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

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

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
Pillow

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

🔗 Python tricks
PyTorch

Еще одна библиотека с открытым исходным кодом от Facebook*, которая используется для глубокого обучения, создания и обучения нейронных сетей. Она более новая, чем TensorFlow и показывает по сравнению с ней лучшие результаты.

🔗 Python tricks
collections.Counter

Collections.Counter — это класс, предназначенный для подсчета хешей (hashable объектов).
Он позволяет удобно и эффективно подсчитывать вхождения элементов в какой-либо последовательности.

Основное отличие Counter от обычного словаря в том, что он не выбрасывает исключение, если ключ не существует, а просто создает новый ключ со значением 0. Это упрощает подсчет элементов.
Counter может принимать на вход любую итерируемую последовательность (список, кортеж и т.д.).

Основные способы использования Counter:
— Подсчет слов или букв в тексте.
— Подсчет появления элементов в списке или итераторе.
— Нахождение наиболее часто встречающихся элементов.
— Использование при решении задач на вероятность и статистику.

🔗 Python tricks
Метод isspace()

Метод isspace() проверяет, является ли символ пробельным.

Пробельными символами считаются:
— Пробел (' ').
— Табуляция ('\t').
— Перевод строки ('\n').
— Перевод каретки ('\r').
— Прочие unicode символы, определяемые как пробелы.

isspace() возвращает True, если символ пробельный, и False в противном случае.
Этот метод удобно использовать для проверки и обработки строк.

🔗 Python tricks
Keras

Упрощает использование TensorFlow. Keras отвечает за создание и настройку моделей и нейросетей, а TensorFlow выполняет в них расчеты.

🔗 Python tricks
Pymorphy2

Это морфологический анализатор русского языка. Он распознает и приводит слова к нормальной форме (например, «люди -> человек», или «гулял -> гулять»), меняет число, род, падеж и пр.

🔗 Python tricks
Метод id()

Метод id() возвращает уникальный идентификатор объекта.

Каждый объект в Python имеет свой идентификатор, который назначается при создании объекта. Этот идентификатор гарантированно уникален в пределах жизни объекта.

id() позволяет получить числовое представление идентификатора объекта. Это может быть полезно при отладке и тестировании программы.

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

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

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

В этом примере создана DataArray со случайными данными размерностей 2x3. Для осей заданы метки "city" и "year". Это позволяет легко обращаться к данным по городам и годам. Xarray сохраняет метаданные вместе с данными.

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

igraph предназначена для работы с графами и сетями. Она позволяет строить, анализировать и визуализировать графы.

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

Основные возможности igraph — генерация случайных и классических графов, вычисление различных метрик (степени вершин, диаметра графа и т. д.), поиск сообществ и кластеров.

🔗 Python tricks
Rich

Позволяет форматировать текст, который Python выводит в консоль. Словосочетание Rich Text означает «отформатированный», «украшенный» текст. Можно сделать разноцветными сообщения в консоли, изменить в них начертание шрифта, выводить таблицы, пользоваться эмодзи. Это удобно, если нужны понятные и наглядные логи.

🔗 Python tricks
OpenCV

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

🔗 Python tricks
Метод Counter.elements()

Метод Counter.elements() возвращает итератор по элементам в словаре Counter.
Этот метод позволяет эффективно перебрать элементы словаря Counter без создания копии.

Как видно из примера, метод elements() возвращает итератор по элементам словаря Counter в порядке их добавления.
Это позволяет эффективно обрабатывать элементы, не создавая промежуточные структуры данных.

🔗 Python tricks
Контекстные менеджеры

Контекстные менеджеры — это объекты, используемые для управления контекстом с помощью оператора with.

Они позволяют автоматически выполнять "вход" в контекст и "выход" из него, не заботясь о ручной финализации объекта.
Контекстные менеджеры реализуют методы enter и exit, вызываемые при входе и выходе из контекста.

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

🔗 Python tricks
Библиотека 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