Модуль fnmatch: функция fnmatch
Функция
Синтаксис:
Где:
-
-
Примечание:
Оба параметра
🐍 Python Map | Обучение
Функция
fnmatch
из модуля fnmatch
предназначена для сравнения строки с шаблоном, используя символы подстановки. Она позволяет проверять, соответствует ли заданная строка определенному шаблону.Синтаксис:
fnmatch.fnmatch(name, pat)
Где:
-
name
: строка, которую нужно проверить.-
pat
: строка-шаблон, содержащая символы подстановки, такие как *
(любое количество символов или пустая последовательность) и ?
(ровно один любой символ).Примечание:
Оба параметра
name
и pat
нормализуются с помощью os.path.normcase()
.🐍 Python Map | Обучение
👍2🔥2⚡1
Модуль slugify
Слаг — это упрощенная версия заголовка или названия, в которой специальные символы заменяются на дефисы (-), а все буквы становятся строчными. Например, заголовок "Как создать слаг в Python!" превращается в "kak-sozdat-slag-v-python".
- Строка преобразуется в нижний регистр.
- Удаляются специальные символы и пробелы, заменяясь на дефисы.
- Результат получается коротким и удобным для чтения.
Установка библиотеки:
🐍 Python Map | Обучение
Слаг — это упрощенная версия заголовка или названия, в которой специальные символы заменяются на дефисы (-), а все буквы становятся строчными. Например, заголовок "Как создать слаг в Python!" превращается в "kak-sozdat-slag-v-python".
Слаг представляет собой дружественный и понятный формат строки, который обычно используется в URL для идентификации ресурса.
from slugify import slugify
title = "Пример поста о создании слагов"
slug = slugify(title)
print(slug) # вывод: primer-posta-o-sozdanii-slagov
- Строка преобразуется в нижний регистр.
- Удаляются специальные символы и пробелы, заменяясь на дефисы.
- Результат получается коротким и удобным для чтения.
Установка библиотеки:
pip install python-slugify
🐍 Python Map | Обучение
🔥5😎1
Нормализация строк: метод casefold()
Нормализация строк - это полноценное приведение текста к единому представлению.
Он похож на метод lower(), но более агрессивен, потому что он предназначен для удаления всех различий регистра в строке.
🐍 Python Map | Обучение
Нормализация строк - это полноценное приведение текста к единому представлению.
casefold()
— это метод строк, который преобразует все символы строки в нижний регистр, при этом учитывая особенности различных языков.Он похож на метод lower(), но более агрессивен, потому что он предназначен для удаления всех различий регистра в строке.
В первом примере sign1 - "микрознак", sign2 - "греческая строчная буква мю".
Интерпретатор Python видит эти символы как два разных, но в Unicode они имеют одинаковое отображение.
🐍 Python Map | Обучение
🔥3⚡1
Модуль collections: класс namedtuple
namedtuple — это структура данных в Python, позволяющая создавать кортежи с именованными полями. Она делает работу с данными более читабельной и удобной, позволяя обращаться к элементам как по имени, так и по индексу.
📄 Синтаксис:
Где:
⚙️ Подробнее:
Класс namedtuple создает новый подкласс кортежа с именем typename. Этот подкласс обеспечивает создание объектов, которые имеют индексируемые и итерируемые поля. Экземпляры также имеют документацию с typename и field_names, а метод repr() выводит кортеж в формате name=value.
🆚 Dict vs namedtyple:
Экземпляры именованных кортежей не имеют словарей, поэтому они легковесны и требуют не больше памяти, чем обычные кортежи.
🐍 Python Map | Обучение
namedtuple — это структура данных в Python, позволяющая создавать кортежи с именованными полями. Она делает работу с данными более читабельной и удобной, позволяя обращаться к элементам как по имени, так и по индексу.
📄 Синтаксис:
namedtuple(typename, field_names, rename=False, defaults=None, module=None)
Где:
typename
: имя классаfield_names
: последовательность строк, имена полейrename
: авто-переименование повторяющихся именdefaults
: итерируемая последовательность, значения по умолчаниюmodule
: модуль кортежа⚙️ Подробнее:
Класс namedtuple создает новый подкласс кортежа с именем typename. Этот подкласс обеспечивает создание объектов, которые имеют индексируемые и итерируемые поля. Экземпляры также имеют документацию с typename и field_names, а метод repr() выводит кортеж в формате name=value.
🆚 Dict vs namedtyple:
Экземпляры именованных кортежей не имеют словарей, поэтому они легковесны и требуют не больше памяти, чем обычные кортежи.
🐍 Python Map | Обучение
👍2🔥2❤1
Модуль functools: декоратор lru_cache
lru_cache — это декоратор для кэширования результатов функций, использующий стратегию «Least Recently Used» (LRU). Он удаляет наименее используемые значения из кэша при достижении лимита, освобождая место для новых вызовов.
📄 Синтаксис:
Где:
⚙️ Подробнее:
Позиционные и ключевые аргументы должны быть хешируемыми, так как для кэширования используется словарь.
Специфичность типа применяется только к непосредственным аргументам функции, а не к их содержимому.
🐍 Python Map | Обучение
lru_cache — это декоратор для кэширования результатов функций, использующий стратегию «Least Recently Used» (LRU). Он удаляет наименее используемые значения из кэша при достижении лимита, освобождая место для новых вызовов.
Это экономит время и ресурсы при многократных вызовах функций с одинаковыми аргументами.
📄 Синтаксис:
@lru_cache(maxsize=128, typed=False)
def user_function():
...
Где:
maxsize
=128: максимальный размер кеша (если значение равно None
, кэш не будет ограничен);typed
=False: как кэшировать при разных типах аргументов (если установлен в True
, кэш будет различать результаты для разных типов данных).⚙️ Подробнее:
Позиционные и ключевые аргументы должны быть хешируемыми, так как для кэширования используется словарь.
Специфичность типа применяется только к непосредственным аргументам функции, а не к их содержимому.
🐍 Python Map | Обучение
🔥3❤1👍1
Модуль hupper
Hupper — это библиотека для Python, которая автоматически перезагружает приложения при изменениях в коде. Она облегчает разработку, позволяя мгновенно видеть результаты без ручного перезапуска.
Основные характеристики:
Установка библиотеки:
🗂 Документация
🐍 Python Map | Обучение
Hupper — это библиотека для Python, которая автоматически перезагружает приложения при изменениях в коде. Она облегчает разработку, позволяя мгновенно видеть результаты без ручного перезапуска.
Основные характеристики:
1. Hupper отслеживает изменения в файлах и автоматически перезапускает приложение, упрощая разработку.
2. Установка и настройка Hupper быстры и просты, позволяя сосредоточиться на программировании.
3. Библиотека совместима с различными Python-приложениями, включая веб-сервисы и скрипты.
Установка библиотеки:
pip install hupper
🗂 Документация
🐍 Python Map | Обучение
⚡3
Хранение атрибутов и методов в классах
В Python атрибуты и методы класса хранятся в специальном словаре, называемом
Кроме того, каждый экземпляр класса имеет свой собственный
🐍 Python Map | Обучение | #теория
В Python атрибуты и методы класса хранятся в специальном словаре, называемом
__dict__
. Этот словарь является атрибутом класса и позволяет хранить все его атрибуты и методы в формате пар "ключ-значение". Каждый ключ соответствует имени атрибута или метода, а значение представляет собой сам объект.Кроме того, каждый экземпляр класса имеет свой собственный
__dict__
, в котором хранятся атрибуты, специфичные для данного объекта. Это позволяет различным экземплярам одного класса иметь уникальные значения своих атрибутов, при этом общие методы и атрибуты класса остаются доступны для всех объектов.🐍 Python Map | Обучение | #теория
❤5👍1
Модуль JMESPath
JMESPath — это библиотека для Python, предназначенная для работы с JSON-данными. Она позволяет легко извлекать значения, фильтровать массивы и преобразовывать данные в нужный формат.
Основные возможности:
Установка библиотеки:
🐍 Python Map | Обучение
JMESPath — это библиотека для Python, предназначенная для работы с JSON-данными. Она позволяет легко извлекать значения, фильтровать массивы и преобразовывать данные в нужный формат.
Основные возможности:
1. Извлечение данных: Используйте выражения, похожие на SQL-запросы, для получения данных из JSON.
2. Фильтрация: Выбирайте элементы массивов по заданным условиям.
3. Преобразование данных: Подготовка данных для дальнейшего анализа.
4. Поддержка вложенных структур: Работа с сложными JSON-объектами, что полезно для API.
Установка библиотеки:
pip install jmespath
🐍 Python Map | Обучение
🔥3👍1
🐍 Цветной вывод в консоль 🎨
🖌 Сегодня мы рассмотрим как, используя управляющие последовательности ANSI, можно легко добавлять цвет и стиль в текст, выводимый в консоль.
💻 Это может улучшить читаемость и визуальное восприятие сообщений в ваших приложениях.
Разбор + код 👇
🐍 Python Map | Обучение | #статьи
🖌 Сегодня мы рассмотрим как, используя управляющие последовательности ANSI, можно легко добавлять цвет и стиль в текст, выводимый в консоль.
💻 Это может улучшить читаемость и визуальное восприятие сообщений в ваших приложениях.
Разбор + код 👇
🐍 Python Map | Обучение | #статьи
🔥3👍1
Горячие клавиши VS Code
👉 Демонстрация
🗂 Скачать полную версию
🐍 Python Map | Обучение
Очень полезная шпаргалка, в которой собран весь список горячих клавиш для VS Code.
👉 Демонстрация
🗂 Скачать полную версию
🐍 Python Map | Обучение
👍4✍1🔥1
🔥Какой браузер лучше по вашему мнению?
Anonymous Poll
30%
Chrome
29%
Firefox
14%
Opera
23%
Yandex
4%
Edge
0%
Safari
Модуль contextlib: декоратор contextmanager
Декоратор
Объяснение:
1.Код перед
2. Значение
3. Код в блоке
🐍 Python Map | Обучение
Декоратор
contextmanager
из модуля contextlib
в Python позволяет создавать контекстные менеджеры для оператора with
без необходимости писать класс и методы __enter__()
и __exit__()
. Это упрощает управление ресурсами, автоматически закрывая их после завершения блока кода.Объяснение:
1.Код перед
yield
выполняется при входе в контекст.2. Значение
yield
передаётся в блок with
, позволяя взаимодействовать с ресурсом c помощью оператора as
.3. Код в блоке
finally
выполняется при выходе из блока with
, что гарантирует закрытие ресурса, даже если произошло исключение.Декоратор contextmanager упрощает написание контекстных менеджеров, делая код компактным и удобным для чтения.
🐍 Python Map | Обучение
👍2
Модуль itertools: итератор cycle
Итератор cycle из модуля itertools позволяет бесконечно итерироваться по элементам заданного итерируемого объекта (например, списка или строки), возвращая их по одному и повторяя при достижении конца.
Синтаксис:
Где:
iterable - итерируемая последовательность
Возвращаемое значение:
бесконечный итератор
Эта функция может быть полезна для создания механизма, который чередует выполнение задач в многопоточных или многопроцессорных приложениях, обеспечивая равномерное распределение нагрузки и обработку данных.
🐍 Python Map | Обучение
Итератор cycle из модуля itertools позволяет бесконечно итерироваться по элементам заданного итерируемого объекта (например, списка или строки), возвращая их по одному и повторяя при достижении конца.
Синтаксис:
itertools.cycle(iterable)
Где:
iterable - итерируемая последовательность
Возвращаемое значение:
бесконечный итератор
Эта функция может быть полезна для создания механизма, который чередует выполнение задач в многопоточных или многопроцессорных приложениях, обеспечивая равномерное распределение нагрузки и обработку данных.
🐍 Python Map | Обучение
👍2