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

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3MnbSc
Download Telegram
Асинхронные запросы с 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
Метод isalpha()

Метод isalpha() является строковым методом, который позволяет проверить, состоит ли каждый символ в строке из букв (алфавитных символов). Он возвращает True, если все символы в строке являются буквами, и False в противном случае.

Как видно в примере выше, первая строка состоит только из букв, поэтому isalpha() возвращает True. Вторая строка содержит символы, которые не являются буквами (запятая и восклицательный знак), поэтому isalpha() возвращает False.

#theory // Just Python
pyperclip

pyperclip — это библиотека Python, которая предоставляет простой способ копирования и вставки текста в буфер обмена (clipboard) операционной системы. Вы можете использовать pyperclip для копирования текста в буфер обмена и вставки текста из буфера обмена в свой Python-скрипт.

Для установки pyperclip, вы можете использовать инструмент управления пакетами Python, такой как pip. Откройте терминал или командную строку и выполните следующую команду:

pip install pyperclip

После установки библиотеки, вы можете использовать ее в своем Python-коде.

#theory // Just Python
divmod

Метод divmod() принимает два числа в качестве аргументов и возвращает их частное и остаток в виде кортежа. В качестве вводных чисел могут быть как целые числа, так и с плавающей запятой. Если же использовать не числовые значения, выдается ошибка TypeError.

#theory // Just Python