Разъяснивший Python – Telegram
Разъяснивший Python
7.63K subscribers
2.83K photos
40 videos
30 files
2.73K links
Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

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

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
Итерируемые объекты

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

Разъяснивший Python | ChatGPT
👍1
Ограничение использования процессора и памяти (ч.1)

Если вместо того, чтобы оптимизировать программу, или улучшить то, как она пользуется процессором, вам нужно просто задать жёсткое ограничение на доступные ей ресурсы, можно воспользоваться соответствующей библиотекой

Тут показано ограничение процессорного времени и объёма памяти. Для того чтобы ограничить использование программой процессора, мы сначала получаем значения нежёсткого и жёсткого (hard) лимитов для конкретного ресурса (RLIMIT_CPU).

Разъяснивший Python | ChatGPT
👍1🥰1
Ограничение использования процессора и памяти (ч.2)

Затем мы устанавливаем лимит, используя некое число секунд, задаваемое аргументом seconds, и ранее полученное значение жёсткого лимита. После этого мы регистрируем обработчик signal, который, при превышении выделенного программе процессорного времени, инициирует процедуру выхода. В случае с памятью, мы, опять же, получаем значения для нежёсткого и жёсткого лимитов, после чего устанавливаем ограничение с помощью метода setrlimit, которому передаём размер ограничения (size) и ранее полученное значение жёсткого лимита

Разъяснивший Python | ChatGPT
👍1🥰1
F-строки

Сложно делать что-либо без строк в Python и чтобы сохранить адекватность, вам нужно иметь структурированный способ работы со строками. Большая часть людей, работающих с Python, предпочитают метод format python.

Разъяснивший Python | ChatGPT
🥰2🤡1
Textblob — Простая обработка текста с использованием NLP

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

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

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

Разъяснивший Python | ChatGPT
FlashText — Быстрый поиск и замена строк

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

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

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

Разъяснивший Python | ChatGPT
Быстрое чтение файла и удаление пробелов с помощью strip()

Когда вам нужно прочитать файл и удалить лишние пробелы или символы новой строки из каждой строки, использование strip() внутри генератора списков — эффективный и удобный способ.

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

Разъяснивший Python | ChatGPT
👍1
Использование try-except-else для безопасного выполнения кода с обработкой ошибок

Когда вам нужно выполнить код, который может вызвать исключение, и при этом вы хотите добавить логику, которая будет выполняться только в случае отсутствия ошибок, блок try-except-else помогает организовать это грамотно.

Использование try-except-else позволяет делать код более устойчивым к ошибкам, обеспечивая выполнение дополнительной логики только при успешном выполнении основного кода.

Разъяснивший Python | ChatGPT
NumPy: array_split

Ты можешь использовать array split() для разделения массивов, передав ему массив, который хочешь разделить, и количество разделений. Если в массиве меньше элементов, чем требуется, он соответствующим образом корректируется с конца.

Разъяснивший Python | ChatGPT
👍1
math.isnan

Функция math.isnan() используется для проверки, является ли значение NaN (Not a Number, не число). Эта функция возвращает True, если переданное значение является NaN, и False в противном случае.

Разъяснивший Python | ChatGPT
Loguru — удобная и мощная система логирования для Python

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


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

Разъяснивший Python | ChatGPT
👍1
Использование enumerate() для итерации по списку с индексами

Когда вам нужно одновременно получать и элементы списка, и их индексы в цикле, функция enumerate() делает это простым и элегантным способом.

Использование enumerate() делает код более компактным и удобным для чтения, особенно в тех случаях, когда вам нужно одновременно обрабатывать элементы списка и их индексы.

Разъяснивший Python | ChatGPT
Использование множественного присваивания для обмена значениями переменных

Когда вам нужно поменять местами значения двух переменных, Python позволяет сделать это в одну строчку с помощью множественного присваивания.

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

Разъяснивший Python | ChatGPT
Использование срезов списка для инвертирования его порядка

Когда вам нужно развернуть список в обратном порядке, можно использовать срезы (slicing) для быстрого и эффективного решения.

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

Разъяснивший Python | ChatGPT
👍1
random.randint

Функция random.randint из модуля random используется для генерации случайного целого числа из заданного диапазона, включая оба конца этого диапазона. В отличие от некоторых других функций для генерации случайных чисел, random.randint включает как нижнюю, так и верхнюю границы диапазона. Если первое число больше второго, будет вызвана ошибка ValueError.

Разъяснивший Python | ChatGPT
Использование zip() для объединения нескольких списков

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

Разъяснивший Python | ChatGPT
🤔1
Использование functools.cache_property для кеширования свойств объектов

Начиная с Python 3.8, появился декоратор functools.cached_property, который позволяет кешировать результат вычисления свойства объекта. Это полезно, когда свойство требует сложных вычислений или обращений к ресурсам, но результат не меняется при повторных вызовах.

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

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


Разъяснивший Python | ChatGPT
Использование defaultdict для упрощения работы со словарями

Когда вы работаете со словарями, в которых нужно инициализировать значения по умолчанию для новых ключей, defaultdict из модуля collections значительно упрощает этот процесс.

Использование defaultdict делает код более чистым, сокращая количество проверок на наличие ключей и обеспечивая автоматическую инициализацию значений, что особенно полезно в сложных структурах данных.

Разъяснивший Python | ChatGPT
Использование f-string для форматирования строк с вычислениями

Когда вам нужно встроить вычисления прямо в строку или форматировать вывод значений переменных, f-string (форматированные строки) — это быстрый и удобный способ сделать это.

Использование f-string позволяет упростить форматирование строк и объединить в одной строке текст с результатами вычислений, что делает код более чистым и эффективным.

Разъяснивший Python | ChatGPT
Использование with для автоматического закрытия файлов

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

Разъяснивший Python | ChatGPT
HTTPX — современный клиент для работы с HTTP-запросами

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

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

Разъяснивший Python | ChatGPT
😭2👍1