Loguru — это библиотека для логирования, которая значительно упрощает работу с логами по сравнению с стандартным модулем logging. Она автоматически форматирует сообщения, поддерживает ротацию логов, асинхронное логирование и фильтрацию по уровням, что делает её идеальным решением для современных проектов.
🗣 Loguru — отличный выбор для разработчиков, которым нужно быстро и просто настроить эффективную систему логирования с минимумом кода.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤🔥2😢1🎉1
dataclasses.field
для установки значений по умолчанию на основе фабричных функцийdataclasses.field
— это способ назначения значений по умолчанию для полей датаклассов, используя фабричные функции. Это особенно полезно, когда вы хотите, чтобы каждое поле имело своё уникальное значение, как, например, новый объект списка или словаря.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤🔥3😢1
contextlib.suppress
для игнорирования определённых исключенийcontextlib.suppress
— это контекстный менеджер, который позволяет игнорировать заданные исключения при выполнении кода. Это полезно в ситуациях, когда вы ожидаете, что может произойти ошибка, но хотите её безопасно пропустить, не прерывая выполнение программы.contextlib.suppress
для игнорирования исключения FileNotFoundError
при попытке удалить файл, если его нет.✔️ С помощью contextlib.suppress можно аккуратно обработать ожидаемые исключения, не добавляя лишних try-except блоков.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🤔2❤🔥1🎉1
functools.cache_property
для кеширования свойств объектовНачиная с Python 3.8, появился декоратор
functools.cached_property
, который позволяет кешировать результат вычисления свойства объекта. Это полезно, когда свойство требует сложных вычислений или обращений к ресурсам, но результат не меняется при повторных вызовах.expensive_computation
вычисляется только один раз, и при последующих вызовах возвращается закешированное значение.✔️ cached_property делает код более эффективным, избегая повторных вычислений для неизменяемых свойств объекта.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2🎉1
HTTPX — это библиотека для выполнения HTTP-запросов, которая поддерживает асинхронные операции, полную совместимость с requests, и предоставляет мощные возможности для работы с сетевыми запросами. Она идеально подходит для тех случаев, когда вам нужно быстро и эффективно выполнять HTTP-запросы в асинхронных приложениях.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤🔥2
Poetry — это современный инструмент для управления зависимостями и сборки Python-проектов. Он предоставляет удобный интерфейс для добавления и обновления зависимостей, а также упрощает процесс создания и публикации пакетов. Poetry автоматически генерирует файл pyproject.toml, который используется для управления метаданными и настройками проекта.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥6👍4
contextlib.nullcontext
для временного отключения контекстного менеджераНачиная с Python 3.7, появился contextlib.nullcontext, который используется в ситуациях, когда требуется контекстный менеджер, но не нужно выполнять никаких действий в начале и конце блока. Это удобно, когда вы хотите условно использовать контекстный менеджер или временно его отключить.
nullcontext
используется для обхода реального контекстного менеджера, если он не нужен в текущих условиях.nullcontext
помогает упростить код, где контекстный менеджер используется только в определённых случаях, сохраняя при этом структуру программы.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤🔥1
🤔16👍15😱4
functools.reduce
для последовательного применения функции к элементам коллекцииfunctools.reduce
— это полезная функция для свёртки (агрегирования) коллекции в одно значение. Она позволяет последовательно применить функцию к парам элементов в коллекции, сводя их к одному результату. Это особенно полезно для задач вроде суммирования, умножения или более сложных операций.🗣 В этом примере reduce используется для умножения всех элементов списка.
functools.reduce
помогает сделать код более декларативным и удобным для сложных операций над коллекциями.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤🔥1🏆1
dataclasses.replace
для создания копий объектов с изменёнными полямиdataclasses.replace
— это функция, которая позволяет создать новую копию объекта, изменив некоторые его поля. Это особенно полезно, когда вам нужно работать с неизменяемыми объектами, но вы хотите создать их изменённые версии без необходимости переписывать код вручную.🗣 В этом примере replace используется для изменения одного поля в объекте без изменения оригинала.
dataclasses.replace
помогает сократить код и сделать его более читаемым при работе с неизменяемыми объектами.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤🔥2🏆1
Tortoise ORM — это современный асинхронный ORM, ориентированный на работу с базами данных в асинхронных Python-приложениях.
Он поддерживает аннотации типов и обеспечивает простоту использования, предлагая синтаксис, похожий на Django ORM.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤🔥5🏆4
Peewee — это компактная и простая в использовании ORM-библиотека для работы с базами данных.
Она поддерживает SQLite, MySQL, PostgreSQL и предоставляет удобный API для работы с моделями, упрощая взаимодействие с базами данных.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥2❤🔥1🎉1
itertools.accumulate
для последовательных вычисленийitertools.accumulate
— это функция, которая выполняет накапливающие вычисления на основе элементов и переданной функции. По умолчанию используется сложение, но вы можете передать любую другую бинарную функцию.Это удобно для выполнения последовательных операций, таких как вычисление суммы, произведения или других кумулятивных операций.
🗣 В этом примере accumulate используется для вычисления кумулятивной суммы элементов списка.
itertools.accumulate
помогает легко выполнять кумулятивные вычисления без необходимости писать цикл вручную.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤🔥2
Оператор match — это новая конструкция в Python 3.10, которая позволяет выполнять структурный паттерн-матчинг. Она дает возможность сопоставлять сложные структуры данных и упрощает обработку разных типов входных данных.
🗣 В этом примере мы используем match для обработки разных типов сообщений, представленных в виде словарей с различными ключами.
match
делает код более читаемым и упрощает логику обработки данных.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🏆2❤🔥1
Polars — это высокопроизводительная библиотека для обработки и анализа данных, которая фокусируется на скорости и эффективной работе с большими наборами данных. Она предоставляет интуитивный интерфейс для работы с табличными данными и поддерживает многопоточность для максимальной производительности.
•
Polars — отличный выбор для проектов, которым требуется быстрая обработка больших объёмов данных, с минимальными затратами на память.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤🔥3
Pony ORM — это удобная и мощная ORM, которая позволяет писать запросы на SQL, используя синтаксис Python. Она автоматически генерирует SQL-запросы на основе Python-кода, что делает работу с базами данных простой и интуитивной.
•
Pony ORM — отличный выбор для разработчиков, которым важно писать лаконичный код при работе с базами данных, без явного написания SQL-запросов.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤🔥2🤔1
types.MappingProxyType
для создания неизменяемых отображенийtypes.MappingProxyType
— это объект-обёртка, который позволяет создать неизменяемое отображение на основе существующего словаря. Он предоставляет доступ для чтения к данным словаря, но блокирует возможность их изменения, что полезно для защиты данных от случайных изменений.🗣 В этом примере MappingProxyType используется для создания защищённого отображения.
MappingProxyType
помогает обезопасить данные, которые не должны изменяться в процессе работы программы.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤🔥3🔥1