Just Python
11.2K subscribers
3.66K photos
11 videos
3.65K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3MnbSc
Download Telegram
Автоматический резюме-аналитик

Данная программа позволяет загружать .pdf или .docx файл с резюме, извлекает ключевые навыки, опыт, контакты, и формирует краткий отчет. В результате можно разобрать резюме без ручного чтения – отличный инструмент для HR, рекрутеров или разработчиков.

Ссылка на код

#theory // Just Python
Глубокая заморозка объектов с types.MappingProxyType

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

Итог:
MappingProxyType создаёт читаемую, но неизменяемую обёртку над словарём — отличный способ защитить данные от случайного изменения, особенно в конфигурациях и API-интерфейсах.

#theory // Just Python
PrettyTable – это Python-модуль, который облегчает создание таблиц в коде. На его основе можно легко создавать таблицы из результатов запросов или из любых других данных. Библиотека была разработана Дайвом Льюисом и имеет удобный и понятный синтаксис, который позволяет создавать с помощью пары строк кода красивые таблицы.

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

PrettyTable позволяет очень просто и быстро настраивать таблицы в Python. Библиотека отлично подходит для работы с большим объемом данных, которые необходимо представить в удобочитаемом формате. Она позволяет легко форматировать таблицы и менять их визуальное отображение.

Ставится командой ⚙️ pip install prettytable
Документация и примеры кода здесь

#theory // Just Python
Замер времени выполнения кода с timeit

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

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

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

#theory // Just Python
Тайминг кода без сторонних библиотек

Нужно быстро узнать, сколько времени занимает выполнение участка кода? Воспользуйтесь встроенным модулем time.

time.perf_counter() предоставляет наиболее точные замеры времени исполнения — идеально для бенчмаркинга.

Итог:
С помощью time.perf_counter() можно легко измерять производительность кода без внешних зависимостей.

#theory // Just Python
Словарь с "молчаливыми" значениями — defaultdict

Когда работаешь со словарём, часто нужно сначала проверять, есть ли ключ. С defaultdict от collections это делается автоматически.

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

#theory // Just Python
Как красиво подставлять переменные в строку?

Новички часто используют конкатенацию (+) или .format() для создания строк с переменными, но это может быть громоздко и неудобно. Python предлагает современный и удобный способ — f-строки (форматированные строки), которые позволяют подставлять значения прямо внутрь строки с минимальным синтаксисом.

Для этого перед строкой нужно поставить f, а переменные — обернуть в фигурные скобки {}.

Итог:
f-строки — простой и читаемый способ форматирования.
Позволяют вставлять выражения прямо в строку.
Быстрее и удобнее, чем .format() или +.

#theory // Just Python
Как узнать, есть ли элемент в списке?

Иногда нужно проверить, содержится ли элемент в списке. Новички могут использовать циклы, но Python предлагает более быстрый способ — оператор in.

Этот приём позволяет проверить наличие элемента за одну строку: "item" in list1 возвращает True, если элемент есть в списке, и False, если нет.

Итог:
Проверка за одну строку.
Читается как обычное предложение.
Работает мгновенно!

#theory // Just Python
Проверка аргументов функций — assert как мини-валидация

Иногда нужно быстро проверить корректность аргументов функции. Можно использовать assert для встроенной валидации прямо в начале.

Итог:
assert — быстрый способ «подстелить соломку» и отлавливать очевидные ошибки ещё до выполнения основного тела функции. Особенно полезно в прототипах и тестах.

#theory // Just Python
Безопасное закрытие ресурсов с contextlib.suppress

Иногда нужно проигнорировать конкретные ошибки, не загромождая код try/except-блоками. contextlib.suppress делает это изящно.

Итог:
contextlib.suppress помогает лаконично и безопасно игнорировать конкретные исключения, не засоряя код лишней обработкой.

#theory // Just Python
Forwarded from DevHumor
This media is not supported in your browser
VIEW IN TELEGRAM
Генератор бредовых идей

DevHumor
Простое логирование времени выполнения кода с timeit

Нужно быстро узнать, сколько времени занимает участок кода? Не нужно писать таймеры вручную — есть timeit.

Итог
Модуль timeit — удобный способ измерить производительность кода без лишней возни с time. Особенно полезен при сравнении разных реализаций.

#theory // Just Python
Парсер вакансий с 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