FlashText — Быстрый поиск и замена строк
FlashText — это библиотека Python, которая позволяет быстро находить и заменять ключевые слова в строках. В отличие от стандартных методов поиска, таких как регулярные выражения, FlashText работает с целыми словами и значительно быстрее на больших текстах. Эта библиотека особенно полезна, если нужно обрабатывать огромные массивы текстовых данных.
FlashText — идеальный выбор для поиска и замены ключевых слов в текстах, когда производительность имеет ключевое значение.
Ссылочка на доку
#theory // Just Python
FlashText — это библиотека Python, которая позволяет быстро находить и заменять ключевые слова в строках. В отличие от стандартных методов поиска, таких как регулярные выражения, FlashText работает с целыми словами и значительно быстрее на больших текстах. Эта библиотека особенно полезна, если нужно обрабатывать огромные массивы текстовых данных.
FlashText — идеальный выбор для поиска и замены ключевых слов в текстах, когда производительность имеет ключевое значение.
Ссылочка на доку
#theory // Just Python
Сканер уязвимостей в веб-сайтах
Сделаем простой сканер уязвимостей. Он проверяет SSL-сертификат, HTTP-заголовки безопасности, а также открытые порты. Обрати внимание, это информационный сканер, а не пентест-инструмент.
Ссылка на код
#theory // Just Python
Сделаем простой сканер уязвимостей. Он проверяет SSL-сертификат, HTTP-заголовки безопасности, а также открытые порты. Обрати внимание, это информационный сканер, а не пентест-инструмент.
Ссылка на код
#theory // Just Python
Быстрое сравнение объектов через dataclasses
Если тебе нужно сравнивать экземпляры классов по значениям, а не по идентификаторам, используй @dataclass — это избавит от ручной реализации eq.
Итог:
@dataclass не только сокращает шаблонный код, но и позволяет автоматически сравнивать объекты по значению их полей — удобно и читаемо.
#theory // Just Python
Если тебе нужно сравнивать экземпляры классов по значениям, а не по идентификаторам, используй @dataclass — это избавит от ручной реализации eq.
Итог:
@dataclass не только сокращает шаблонный код, но и позволяет автоматически сравнивать объекты по значению их полей — удобно и читаемо.
#theory // Just Python
Распаковка аргументов с * и ** — элегантная передача параметров
Иногда нужно передать переменное количество аргументов в функцию или вызвать функцию с уже готовыми аргументами в виде кортежа или словаря. Python позволяет делать это красиво с помощью *args и kwargs.
Это особенно удобно, если вы оборачиваете функции, строите декораторы или работаете с конфигами.
Итог:
Использование * и позволяет гибко управлять аргументами и упрощает передачу данных в функции — лаконично и читаемо.
#theory // Just Python
Иногда нужно передать переменное количество аргументов в функцию или вызвать функцию с уже готовыми аргументами в виде кортежа или словаря. Python позволяет делать это красиво с помощью *args и kwargs.
Это особенно удобно, если вы оборачиваете функции, строите декораторы или работаете с конфигами.
Итог:
Использование * и позволяет гибко управлять аргументами и упрощает передачу данных в функции — лаконично и читаемо.
#theory // Just Python
Проверка типов во время разработки с typing.assert_type
Иногда полезно явно указать ожидаемый тип переменной — особенно при сложных аннотациях или когда IDE не даёт точной подсказки. Python 3.11+ предоставляет утилиту
Во время выполнения
Итог:
#theory // Just Python
Иногда полезно явно указать ожидаемый тип переменной — особенно при сложных аннотациях или когда IDE не даёт точной подсказки. Python 3.11+ предоставляет утилиту
typing.assert_type
для таких целей.Во время выполнения
assert_type
не делает ничего — он нужен только для анализа типизации инструментами, как mypy или Pyright.Итог:
assert_type
помогает быть уверенным, что типы совпадают с ожиданиями, и делает код более безопасным без влияния на производительность.#theory // Just Python
Ускорение многозадачности с concurrent.futures.ThreadPoolExecutor
Когда тебе нужно выполнить несколько I/O-зависимых задач (например, запросы к API или чтение файлов), но ты не хочешь возиться с asyncio, можно использовать ThreadPoolExecutor — просто и эффективно.
Итог:
ThreadPoolExecutor — мощный способ ускорить I/O-операции с минимальными усилиями. Особенно удобен, если не хочется переписывать проект под asyncio.
#theory // Just Python
Когда тебе нужно выполнить несколько I/O-зависимых задач (например, запросы к API или чтение файлов), но ты не хочешь возиться с asyncio, можно использовать ThreadPoolExecutor — просто и эффективно.
Итог:
ThreadPoolExecutor — мощный способ ускорить I/O-операции с минимальными усилиями. Особенно удобен, если не хочется переписывать проект под asyncio.
#theory // Just Python
Умный анализатор голосовых сообщений
Сделаем анализатор голосовых сообщений. С помощью его ты сможешь делать транскрипцию, анализировать длину, темп, эмоции аудиосообщения. Также возможна сводка сообщения и ключевые фразы. Для этого нам понадобится whisper – он преобразует речь в текст.
Ссылка на код
#theory // Just Python
Сделаем анализатор голосовых сообщений. С помощью его ты сможешь делать транскрипцию, анализировать длину, темп, эмоции аудиосообщения. Также возможна сводка сообщения и ключевые фразы. Для этого нам понадобится whisper – он преобразует речь в текст.
Ссылка на код
#theory // Just Python
Удаление дубликатов из вложенных списков
Иногда нужно удалить дубликаты из списка списков — но set тут не работает напрямую, ведь списки — неизменяемые. Есть простое решение!
Итог:
Для удаления дубликатов из списка списков — конвертируй во tuple, используй set, потом верни всё обратно. Быстро и без лишних циклов.
#theory // Just Python
Иногда нужно удалить дубликаты из списка списков — но set тут не работает напрямую, ведь списки — неизменяемые. Есть простое решение!
Итог:
Для удаления дубликатов из списка списков — конвертируй во tuple, используй set, потом верни всё обратно. Быстро и без лишних циклов.
#theory // Just Python
Pympler для мониторинга и анализа памяти
Библиотека мониторит и анализирует память, которая используется при исполнении кода программ на Python. Инструмент находит ее избыточное потребление, утечки и другие баги.
С помощью Pympler можно узнать все о размере и длительности процессов приложения на Python за время работы.
Ссылочка на доку
#theory // Just Python
Библиотека мониторит и анализирует память, которая используется при исполнении кода программ на Python. Инструмент находит ее избыточное потребление, утечки и другие баги.
С помощью Pympler можно узнать все о размере и длительности процессов приложения на Python за время работы.
Ссылочка на доку
#theory // Just Python
Bidict
Bidict — это библиотека Python, предоставляющая двунаправленное отображение данных и связанные с ним функции для естественной работы с однозначными отношениями.
#theory // Just Python
Bidict — это библиотека Python, предоставляющая двунаправленное отображение данных и связанные с ним функции для естественной работы с однозначными отношениями.
#theory // Just Python
Быстрая проверка скорости кода с timeit
Когда нужно узнать, какой из двух подходов быстрее — используй модуль
Итог:
Используй
#theory // Just Python
Когда нужно узнать, какой из двух подходов быстрее — используй модуль
timeit
.Итог:
Используй
timeit
, чтобы быстро сравнить производительность разных решений. Особенно полезно при выборе между похожими по смыслу, но разными по скорости подходами.#theory // Just Python
Умное логгирование исключений с exc_info=True
Когда ловишь исключение и хочешь залоггировать стек, многие забывают важный параметр.
Итог:
Добавляй exc_info=True к логгированию исключений — получишь полный стек и не потеряешь важные детали при отладке.
#theory // Just Python
Когда ловишь исключение и хочешь залоггировать стек, многие забывают важный параметр.
Итог:
Добавляй exc_info=True к логгированию исключений — получишь полный стек и не потеряешь важные детали при отладке.
#theory // Just Python
Полезные библиотеки Python
ART — минималистичная, но чертовски стильная библиотека для Python, с которой ты за секунду создашь красивый ASCII-логотип прямо в консоли.
Хочешь, чтобы скрипт приветствовал пользователя крутым заголовком?
Пишешь CLI-интерфейс или просто хочешь выделиться?
ART — это быстро, просто и эффектно.
Установка:
GitHub/Инструкция и примеры кода
#theory // Just Python
ART — минималистичная, но чертовски стильная библиотека для Python, с которой ты за секунду создашь красивый ASCII-логотип прямо в консоли.
Хочешь, чтобы скрипт приветствовал пользователя крутым заголовком?
Пишешь CLI-интерфейс или просто хочешь выделиться?
ART — это быстро, просто и эффектно.
Установка:
pip install art
GitHub/Инструкция и примеры кода
#theory // Just Python
Как использовать Pymystem3 для морфологического анализа?
Библиотека быстро и качественно распознает части речи и лексемы слова.
Третья версия Mystem содержит несколько важных улучшений, в первую очередь устранение неоднозначности частей речи
Ссылочка на доку
#theory // Just Python
Библиотека быстро и качественно распознает части речи и лексемы слова.
Третья версия Mystem содержит несколько важных улучшений, в первую очередь устранение неоднозначности частей речи
Ссылочка на доку
#theory // Just Python
Использование __slots__ для экономии памяти
По умолчанию Python хранит атрибуты объектов в словаре (dict), что удобно, но затратно по памяти. Если вы создаёте множество однотипных объектов, можно использовать slots, чтобы ограничить список допустимых атрибутов и сократить потребление памяти.
#theory // Just Python
По умолчанию Python хранит атрибуты объектов в словаре (dict), что удобно, но затратно по памяти. Если вы создаёте множество однотипных объектов, можно использовать slots, чтобы ограничить список допустимых атрибутов и сократить потребление памяти.
#theory // Just Python
Как использовать контекстный менеджер для безопасной работы с БД
Многие новички забывают закрывать соединения с базой данных, что может привести к утечкам ресурсов и блокировкам. Контекстный менеджер (with) упрощает работу с базой и автоматически закрывает соединение даже при ошибках.
Итог:
Используй with при работе с базой данных — это гарантирует автоматическое закрытие соединения и делает код надёжнее и чище.
#theory // Just Python
Многие новички забывают закрывать соединения с базой данных, что может привести к утечкам ресурсов и блокировкам. Контекстный менеджер (with) упрощает работу с базой и автоматически закрывает соединение даже при ошибках.
Итог:
Используй with при работе с базой данных — это гарантирует автоматическое закрытие соединения и делает код надёжнее и чище.
#theory // Just Python
Генератор Фибоначчи
Последовательность Фибоначчи — ряд чисел, где каждое последующее число равно сумме двух предыдущих. Пример: 1, 1, 2, 3, 5, 8, 13. Используется в программировании. Любое число может быть записано как сумма уникальных чисел Фибоначчи. На примере представлен простейший генератор.
#theory // Just Python
Последовательность Фибоначчи — ряд чисел, где каждое последующее число равно сумме двух предыдущих. Пример: 1, 1, 2, 3, 5, 8, 13. Используется в программировании. Любое число может быть записано как сумма уникальных чисел Фибоначчи. На примере представлен простейший генератор.
#theory // Just Python
Знакомство с BeatifulSoup
BeatifulSoup - библиотека предназначенная для парсинга html и xml файлов. В комплекте все, что необходимо для парсинга нужных элементов. Используется в промышленных масшатабах. Умеет проходиться по дереву, парсить группы элементов.
В примере, парсим html документ. С самым простым содержимым.
#theory // Just Python
BeatifulSoup - библиотека предназначенная для парсинга html и xml файлов. В комплекте все, что необходимо для парсинга нужных элементов. Используется в промышленных масшатабах. Умеет проходиться по дереву, парсить группы элементов.
В примере, парсим html документ. С самым простым содержимым.
#theory // Just Python
Взаимодействие с ОС
Для взаимодействия с операционной системой в Python предусмотрен встроенный модуль OS. Позволяет узнать информацию о системе, создавать файлы, папки, переименовывать. На борту базовый набор необходимых функций.
Полезно в любом проекте. Однако некоторые функции работают не со всеми операционными системами.
#theory // Just Python
Для взаимодействия с операционной системой в Python предусмотрен встроенный модуль OS. Позволяет узнать информацию о системе, создавать файлы, папки, переименовывать. На борту базовый набор необходимых функций.
Полезно в любом проекте. Однако некоторые функции работают не со всеми операционными системами.
#theory // Just Python
Загружаем страницу из интернета
Для базовой загрузки страницы из интернета можем воспользоваться встроенной библиотекой urllib.requests.
Функция urlopen позволяет загрузить страничку. Однако при использовании подобного метода страница загрузится без элементов загруженных с помощью javascript и других серверных технологий.
#theory // Just Python
Для базовой загрузки страницы из интернета можем воспользоваться встроенной библиотекой urllib.requests.
Функция urlopen позволяет загрузить страничку. Однако при использовании подобного метода страница загрузится без элементов загруженных с помощью javascript и других серверных технологий.
#theory // Just Python