Just Python
11.5K subscribers
3.45K photos
9 videos
3.44K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

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

Канал на бирже: telega.in/c/justpython_it

РКН: № 5340634335
Download Telegram
Парсер вакансий с hh.ru

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

Ссылка на код

#theory // Just Python
Полезные библиотеки Python

Bandit — твой персональный багхантер в Python-коде!

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

Что умеет:
Вычисляет слабые места, через которые можно слить данные или исполнить произвольный код.
Показывает проблемные строки с пояснениями: от банального eval() до серьёзных криптокосяков.
Подходит для проектов, CTF-подготовки и анализа чужих репозиториев.

Использование проще простого:

$ bandit your_script.py


Результат? Прям как отчёт после Red Team-а: чётко и по существу.

GitHub/Инструкция

#theory // Just Python
Распознавание текста с документов

С помощью этого кода ты сможешь распознавать текст с документов на фотографиях. Работает все очень просто. Сначала принимаем фото документа. С помощью OCR распознаем текст. Затем фильтруем документ по типу: паспорт, ИНН, СНИЛС, ИПН и т.д. Предварительно нужно установить Tesseract OCR.

Ссылка на код

#theory // Just Python
Удобный способ подавить ошибки через contextlib.suppress

Иногда нужно игнорировать определённые исключения, не захламляя код try-except. Для этого идеально подходит contextlib.suppress.

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

#theory // Just Python
FlashText — Быстрый поиск и замена строк

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

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

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

#theory // Just Python
Сканер уязвимостей в веб-сайтах

Сделаем простой сканер уязвимостей. Он проверяет SSL-сертификат, HTTP-заголовки безопасности, а также открытые порты. Обрати внимание, это информационный сканер, а не пентест-инструмент.

Ссылка на код

#theory // Just Python
Быстрое сравнение объектов через dataclasses

Если тебе нужно сравнивать экземпляры классов по значениям, а не по идентификаторам, используй @dataclass — это избавит от ручной реализации eq.

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

#theory // Just Python
Распаковка аргументов с * и ** — элегантная передача параметров

Иногда нужно передать переменное количество аргументов в функцию или вызвать функцию с уже готовыми аргументами в виде кортежа или словаря. Python позволяет делать это красиво с помощью *args и kwargs.

Это особенно удобно, если вы оборачиваете функции, строите декораторы или работаете с конфигами.

Итог:
Использование * и
позволяет гибко управлять аргументами и упрощает передачу данных в функции — лаконично и читаемо.

#theory // Just Python
Проверка типов во время разработки с typing.assert_type

Иногда полезно явно указать ожидаемый тип переменной — особенно при сложных аннотациях или когда 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
Умный анализатор голосовых сообщений

Сделаем анализатор голосовых сообщений. С помощью его ты сможешь делать транскрипцию, анализировать длину, темп, эмоции аудиосообщения. Также возможна сводка сообщения и ключевые фразы. Для этого нам понадобится whisper – он преобразует речь в текст.

Ссылка на код

#theory // Just Python
Удаление дубликатов из вложенных списков

Иногда нужно удалить дубликаты из списка списков — но set тут не работает напрямую, ведь списки — неизменяемые. Есть простое решение!

Итог:
Для удаления дубликатов из списка списков — конвертируй во tuple, используй set, потом верни всё обратно. Быстро и без лишних циклов.

#theory // Just Python
Pympler для мониторинга и анализа памяти

Библиотека мониторит и анализирует память, которая используется при исполнении кода программ на Python. Инструмент находит ее избыточное потребление, утечки и другие баги.

С помощью Pympler можно узнать все о размере и длительности процессов приложения на Python за время работы.

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

#theory // Just Python
Bidict

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

#theory // Just Python
Быстрая проверка скорости кода с timeit

Когда нужно узнать, какой из двух подходов быстрее — используй модуль timeit.

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

#theory // Just Python
Умное логгирование исключений с exc_info=True

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

Итог:
Добавляй exc_info=True к логгированию исключений — получишь полный стек и не потеряешь важные детали при отладке.

#theory // Just Python
Полезные библиотеки Python

ART — минималистичная, но чертовски стильная библиотека для Python, с которой ты за секунду создашь красивый ASCII-логотип прямо в консоли.

Хочешь, чтобы скрипт приветствовал пользователя крутым заголовком?
Пишешь CLI-интерфейс или просто хочешь выделиться?

ART — это быстро, просто и эффектно.

Установка:

pip install art


GitHub/Инструкция и примеры кода

#theory // Just Python
Как использовать Pymystem3 для морфологического анализа?

Библиотека быстро и качественно распознает части речи и лексемы слова.

Третья версия Mystem содержит несколько важных улучшений, в первую очередь устранение неоднозначности частей речи

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

#theory // Just Python
Бесплатный мини-курс: освой базу тестирования за 72 часа

Ты выполнишь 3 реальных задачи из жизни Junior QA — поиски багов вручную, и с помощью ПО. Получишь проекты в портфолио, значимые для будущего работодателя.

Как это работает?
1. Регистрируешься — это абсолютно бесплатно.
2. В течение трёх дней проходишь уроки от эксперта в удобное для себя время.
3. Получаешь консультацию по профессии, обучению и рынку.
4. Понимаешь, подходит ли тебе тестирование, как начать карьеру и как выгодно выделиться среди новичков.

Получи 4 гайда + 3 проекта в портфолио за 3 дня — успевай до 30 апреля!
👉 Записаться бесплатно (осталось 12 мест).
Использование __slots__ для экономии памяти

По умолчанию Python хранит атрибуты объектов в словаре (dict), что удобно, но затратно по памяти. Если вы создаёте множество однотипных объектов, можно использовать slots, чтобы ограничить список допустимых атрибутов и сократить потребление памяти.

#theory // Just Python