Just Python
10.2K subscribers
4.39K photos
11 videos
4.38K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/justpython_it

РКН: clck.ru/3MnbSc
Download Telegram
Sketch

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

Основные возможности:
— Быстрый и эффективный подсчёт статистик по данным, таких как сумма, среднее, медиана, дисперсия.
— Аппроксимация распределений и плотностей вероятности.
— Вычисление квантилей, сглаживания, гистограмм.
— Тестирование статистических гипотез, оценка p-value.
— Генерация случайных чисел из разных распределений.

Sketch позволяет ускорить статистический анализ данных с помощью простого и интуитивного API и используется для:
— Первичного анализа и визуализации данных.
— Статистических тестов в научных исследованиях.
— Построения прототипов моделей машинного обучения.
— Анализа пользовательских действий и событий.
— Симуляции процессов на основе статистических моделей.

#theory // Just Python
collections.Mapping

collections.Mappingэто абстрактный базовый класс, который представляет отображение ключ-значение.
Он наследуется встроенными типами словарей, такими как dict, а также другими типами, которые реализуют схожее поведение, например OrderedDict.

Класс Mapping определяет интерфейс, общий для всех отображений ключ-значение, включая такие методы как keys(), values(), items() и другие.
Это позволяет писать универсальный код, который будет работать с любым типом, реализующим этот интерфейс.

Например, Mapping часто используется вместе с isinstance или issubclass для проверки, является ли объект словарем. Также он полезен при написании функций, которым нужно принимать на вход отображения, но без привязки к конкретному типу как dict. Mapping гарантирует наличие основных методов словаря у переданного объекта.

#theory // Just Python
Асинхронные запросы с aiohttp

Модуль aiohttp представляет из себя асинхронный HTTP клиент/сервер для asyncio и Python. Он позволяет выполнять асинхронные HTTP запросы, что делает его идеальным инструментом для современных приложений, где требуется высокая производительность и параллелизм.

Установка aiohttp производится через pip. Чтобы начать делать асинхронные запросы, вам потребуется взаимодействовать с ним с помощью синтаксиса async/await. Запросы, такие как GET, POST, PUT и DELETE, оформляются чисто и ясно. Объекты ответов содержат все необходимые атрибуты для обработки ответов от сервера.

Модуль aiohttp подходит не только для работы с асинхронными веб-сервисами, но и для асинхронного скрапинга веб-страниц.

#modules // Just Python
Функции, поддерживающие только именованные аргументы (kwargs)

**kwargs (keyword arguments) — это способ передачи произвольного количества именованных аргументов в функцию.

В функциях после позиционных и обычных именованных аргументов указывают параметр **kwargs.

В kwargs передаются аргументы в виде ключ-значение. Внутри функции kwargs становится словарем, где ключи — имена аргументов, значения — значения аргументов.
Благодаря этому через kwargs можно передать любое количество дополнительных аргументов в функцию.

Если одновременно используются *args и **kwargs, то в вызове сначала указываются *args.

#theory // Just Python
Метод Counter.elements()

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

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

#theory // Just Python
Geopandas

Geopandas — это библиотека для работы с геопространственными данными. Она базируется на библиотеке Pandas и интегрируется с другими инструментами геоинформатики, такими как Shapely, Fiona, PyProj.

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

Основные области применения:
— Картография и визуализация пространственных данных.
— Анализ и обработка данных, содержащих географическую привязку.
— Работа с геометрическими объектами: точки, линии, полигоны.
— Преобразование и проектирование геоданных.
— Пространственный анализ и геостатистика.
— Моделирование географических процессов.
— ГИС-приложения и веб-картография.

#theory // Just Python
file.readlines

Метод readlines() возвращает список, содержащий каждую строку файла в виде элемента списка. Используй параметр hint, чтобы ограничить количество возвращаемых строк. Если общее количество возвращенных байтов превышает указанное число, строки больше не возвращаются. По умолчанию hint равен -1. Это значит, что вернутся все строки.

#theory // Just Python
aiohttp

Библиотека aiohttp — это асинхронный HTTP-клиент/сервер для asyncio и Python. Она поддерживает как клиентские, так и серверные веб-сокеты “из коробки” без коллбэков. Веб-сервер имеет промежуточное ПО (middlewares), сигналы и подключаемую маршрутизацию.

В этом примере создается веб-приложение с помощью aiohttp.web.Application, добавляются маршруты для обработки запросов к корневому URL-адресу (/) и URL-адресу с именем (/{name}). Функция handle обрабатывает запросы, извлекает имя из параметров запроса (или использует значение по умолчанию “Anonymous”) и возвращает ответ с текстом приветствия.

#modules // Just Python
list.insert

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

#theory // Just Python
pprint()

Функция pprint() предназначена для красивого форматированного вывода данных.

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

Может принимать ширину вывода в количестве символов для лучшего форматирования.
Имеет параметры depth и compact для настройки уровня вложенности и режима компактного вывода.

Функционал pprint() доступен через модуль pprint в стандартной библиотеке.

#theory // Just Python
Что такое Протоколы

Протоколы — это соглашения, которые определяют интерфейс класса и поведение его объектов.

Протоколы задаются с помощью специальных методов, таких как str, len и другие.
Они позволяют классам работать с различными функциями и операторами языка.

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

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

#theory // Just Python
Colorama

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

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

pip install colorama

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

#theory // Just Python
Memray

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

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

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

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

#theory // Just Python
list.pop

Метод list pop() удаляет элемент по указанному индексу. Метод также возвращает удаленный элемент. Если индекс, переданный методу, находится за пределами диапазона, он выдает исключение IndexError: pop index out of range.

#theory // Just Python
NotImplemented

NotImplemented представляет собой специальный объект-сентинель (или маркер), который обычно используется в методах классов или функциях для указания на то, что конкретная функциональность или реализация пока не были предоставлены. Это может быть полезным при создании абстрактных классов или интерфейсов, когда вы хотите, чтобы подклассы предоставляли свои собственные реализации методов./

#theory // Just Python
OrderedDict

OrderedDict — это улучшенная версия обычного словаря (dict), которая сохраняет порядок элементов в словаре в том порядке, в котором они были добавлены. Это означает, что при итерации по OrderedDict, элементы будут возвращаться в том порядке, в котором они были добавлены в словарь.

Вы можете использовать OrderedDict из модуля collections в Python для создания словаря с учетом порядка элементов.

#theory // Just Python
PyFlux

PyFlux — это библиотека для анализа временных рядов и моделирования в Python. Она предоставляет инструменты для анализа, прогнозирования и визуализации временных рядов. PyFlux предлагает различные статистические и машинные методы для работы с данными временных рядов, включая ARIMA, GARCH, VAR и другие модели.

#theory // Just Python
Bamboolib

Bamboolib — это библиотека для упрощения и ускорения анализа данных в Python, особенно при работе с данными в формате DataFrame. Она предоставляет графический интерфейс для выполнения различных операций с данными, таких как фильтрация, группировка, визуализация и многое другое, без необходимости написания кода. Bamboolib предназначена для упрощения работы с библиотеками Pandas и Jupyter Notebook.

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

#theory // Just Python
Функция os.listdir()

Функция os.listdir() в Python используется для получения списка файлов и папок в указанной директории. Она возвращает список имен элементов в указанной директории в виде строк.

Замените '/путь/к/директории' на путь к директории, список файлов и папок которой вы хотите получить. Функция os.listdir() вернет список строк с именами элементов в этой директории, и вы можете использовать этот список для дальнейшей обработки файлов и папок в Python.

#theory // Just Python
SpaCy

SpaCy — это библиотека для обработки естественного языка (NLP) на языке Python. Она предоставляет инструменты для сегментации текста, анализа грамматики, извлечения информации и многих других задач, связанных с обработкой текста.

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

#theory // Just Python