Python Learning
34.5K subscribers
1.92K photos
8 videos
7 files
917 links
№ 4974297878

Обучающий канал по Python

Ссылка для друга - https://yangx.top/+I7jrAQKR5xAyYTAy

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Python_per_month
加入频道
➡️ FlashText — Быстрый поиск и замена строк

FlashText — это библиотека Python, которая позволяет быстро находить и заменять ключевые слова в строках. В отличие от стандартных методов поиска, таких как регулярные выражения, FlashText работает с целыми словами и значительно быстрее на больших текстах. Эта библиотека особенно полезна, если нужно обрабатывать огромные массивы текстовых данных.

🗣 FlashText — идеальный выбор для поиска и замены ключевых слов в текстах, когда производительность имеет ключевое значение.

🔗 Ссылочка на доку

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
👍3
Продолжаем знакомиться с библиотекой Matplotlib

Наш код генерирует данные о продажах за неделю и отображает их на графике. Этот код сначала генерирует случайные значения продаж для каждого дня недели, а затем строит столбчатую диаграмму. Результат работы кода представлен выше
👍12❤‍🔥3🎉2
➡️ Loguru — удобная и мощная система логирования для Python

Loguru — это библиотека для логирования, которая значительно упрощает работу с логами по сравнению с стандартным модулем logging. Она автоматически форматирует сообщения, поддерживает ротацию логов, асинхронное логирование и фильтрацию по уровням, что делает её идеальным решением для современных проектов.

🗣 Loguru — отличный выбор для разработчиков, которым нужно быстро и просто настроить эффективную систему логирования с минимумом кода.


🔗 Ссылочка на доку

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤‍🔥2😢1🎉1
➡️ Использование функции dataclasses.field для установки значений по умолчанию на основе фабричных функций

dataclasses.field — это способ назначения значений по умолчанию для полей датаклассов, используя фабричные функции. Это особенно полезно, когда вы хотите, чтобы каждое поле имело своё уникальное значение, как, например, новый объект списка или словаря.

🗣 В этом примере каждый объект класса будет иметь своё собственное поле списка values, а не ссылку на один и тот же объект.

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
Игра «Камень, Ножницы, Бумага» на Python

Выше представлен код игры "Камень, Ножницы, Бумага", где игра продолжается до тех пор, пока пользователь не решит выйти.

Результат работы кода представлен выше.
👍25❤‍🔥7🗿7😁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-запросами

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

🔗 Ссылочка на доку

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤‍🔥2
➡️ Poetry — удобный менеджер зависимостей и инструмент для упаковки Python-проектов

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
Что будет выведено при выполнении кода?

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🤔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

Tortoise ORM — это современный асинхронный ORM, ориентированный на работу с базами данных в асинхронных Python-приложениях.

Он поддерживает аннотации типов и обеспечивает простоту использования, предлагая синтаксис, похожий на Django ORM.

🔗 Ссылочка на доку

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤‍🔥5🏆4
➡️ Peewee — лёгкий ORM для Python

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 — это новая конструкция в Python 3.10, которая позволяет выполнять структурный паттерн-матчинг. Она дает возможность сопоставлять сложные структуры данных и упрощает обработку разных типов входных данных.

🗣 В этом примере мы используем match для обработки разных типов сообщений, представленных в виде словарей с различными ключами.


✔️ match делает код более читаемым и упрощает логику обработки данных.

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🏆2❤‍🔥1
➡️ Polars — библиотека для обработки данных, оптимизированная для больших наборов

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

Polars — отличный выбор для проектов, которым требуется быстрая обработка больших объёмов данных, с минимальными затратами на память.

🔗 Ссылочка на доку

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤‍🔥3