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

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

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

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

JMESpath – это язык запросов для JSON, который позволяет получать необходимые данные из документа или словаря JSON. Библиотека доступна как для Python, так и для других ЯП, что расширяет ее возможности.

🔗 Python tricks
Атрибут __slots__

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

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

Использование __slots__ экономит память, так как экземпляры не создают словарь __dict__ для атрибутов.

__slots__ не наследуются, для каждого подкласса нужно определять свои слоты.

Атрибут полезен, когда заранее известны все атрибуты класса и не нужна динамическая задача новых. Например, для простых данных или immutable классов.

🔗 Python tricks
collections.MutableMapping

Collections.MutableMapping — это интерфейс, который представляет изменяемое отображение (словарь).
Он наследуется от интерфейса Mapping и добавляет методы для изменения отображения, такие как __setitem__, __delitem__ и clear.

Основное преимущество в использовании MutableMapping — это возможность передавать экземпляры такого класса в любое API, ожидающее словарь.
Например, во многих функциях в стандартной библиотеке есть параметры типа dict. Если создать класс, реализующий MutableMapping, его экземпляры можно будет передавать в такие функции.

🔗 Python tricks
string.rstrip

rstrip() возвращает копию строки с удаленными конечными символами. Все комбинации символов в аргументе chars удаляются справа от строки до первого несоответствия. Если аргумент chars не указан, все конечные пробелы удаляются из строки.

🔗 Python tricks
Flask

Микрофреймворк для создания простейших веб-приложений на Python. Flask помогает быстро создать простой проект и в дальнейшем масштабировать его. Он может интегрироваться с другими инструментами, например для дизайна и визуализации интерфейса.

🔗 Python tricks
SciPy

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

🔗 Python tricks
TensorFlow

Мощная библиотека для глубокого обучения. В основном TensorFlow используется для создания и обучения нейронных сетей. Ее можно представить как «ядро» для математических вычислений на Python. Она представляет данные как тензоры — векторы, которые складываются в графы.

🔗 Python tricks
Matplotlib

Используется для удобного построения графиков и визуализации результатов. Активно применяется в задачах анализа данных, при оценке и сравнении метрик алгоритмов, наблюдениях за моделью. Нередко Matplotlib используется в тандеме с NumPy и SciPy.

🔗 Python tricks
sum

Функция sum() добавляет элементы итерируемого объекта и возвращает сумму. При необходимости ты можешь указать параметр start. Это значение добавляется к сумме элементов итерации. Значение start по умолчанию — 0 (если опущено).

🔗 Python tricks
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