Разъяснивший Python
8.16K subscribers
2.44K photos
40 videos
30 files
2.29K links
Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

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

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
Антипаттерн недели: Игнорирование finally при работе с ресурсами

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

Используйте блок finally или конструкцию with для автоматического управления ресурсами.

Разъяснивший Python
loguru.logger

loguru.logger — это мощный и удобный логгер, который упрощает логирование в Python. Он поддерживает цветной вывод, автоматическое форматирование и удобное управление логами.

Разъяснивший Python
pathlib.Path.resolve()

Path.resolve() из модуля pathlib позволяет получить абсолютный путь к файлу или директории, автоматически обрабатывая символические ссылки и относительные пути. Это удобный способ работы с файловой системой в Python.

Разъяснивший Python
contextlib.suppress()

contextlib.suppress() позволяет временно подавлять определённые исключения в блоке кода. Это удобная альтернатива try-except, если нам не нужно обрабатывать ошибку, а просто игнорировать её.

Разъяснивший Python
Код, который ускоряет сам себя!

Этот трюк позволяет Python-коду динамически оптимизировать свою работу, анализируя скорость выполнения и заменяя медленные части на более быстрые!

Как это работает?
Код запускает медленную функцию и измеряет время её работы.
Если код ещё не оптимизирован, он перезаписывает сам себя, заменяя медленный вызов на более быстрый.
При следующем запуске скрипт уже работает быстрее!
Где это можно использовать?
Автоматическая оптимизация кода.
Обучение Python-разработчиков динамическому изменению кода.
Создание самосовершенствующихся программ.

Разъяснивший Python
💩1
Процентиль

Процентиль — это значение, ниже которого находится определённый процент наблюдений в наборе данных. Например, 75-й процентиль — это значение, ниже которого находится 75% данных. В данном примере продемонстрировано нахождение процентиля.

Разъяснивший Python
contextlib.nullcontext()

contextlib.nullcontext() создаёт пустой контекстный менеджер, который не выполняет никаких действий. Это полезно, когда нужно условно использовать with, но в некоторых случаях контекстный менеджер не требуется.

Разъяснивший Python
Корреляция

Корреляция — это статистическая мера, показывающая взаимосвязь между двумя переменными. Она измеряется коэффициентом корреляции, который может принимать значения от -1 до 1.

Значение 1 говорит о положительной линейной зависимости (чем больше X, тем больше Y). Значение -1 говорит об отрицательной линейной зависимости (чем больше X, тем меньше Y). Значение 0 означает отсутствие линейной зависимости.

Разъяснивший Python
👍2
Как быстро понять, что делает незнакомый код в Python? (ч.1)

Когда ты только начинаешь изучать Python, иногда встречаешь незнакомый код и не понимаешь, что он делает. Вот быстрый способ разобраться!
Используем help()
Встроенная функция help() показывает описание модуля, функции или класса.

Совет: Если help() выводит слишком много текста, нажми q, чтобы выйти.

Разъяснивший Python
Как быстро отладить Python-код без принтов?

Когда новички ищут ошибки в коде, они часто пишут кучу print(), чтобы понять, что происходит. Но есть лучший способ!

Используем breakpoint()
С версии Python 3.7+ есть встроенная команда breakpoint(), которая останавливает выполнение кода и позволяет исследовать переменные в режиме отладки.

После запуска можно вводить команды прямо в консоли! Например:

print(a) – узнать значение переменной a.
print(b) – проверить значение b.
continue – продолжить выполнение кода.
Лучше, чем десятки print()
Работает прямо в коде без доп. инструментов

Разъяснивший Python
👍3
importlib.resources.files()

importlib.resources.files() позволяет безопасно работать с ресурсами внутри пакетов без необходимости вручную определять пути. Это удобный способ загружать файлы внутри модулей.

Разъяснивший Python
Шпаргалка: fixture в pytest

В данной статье представлены примеры использования фикстур (fixture) для фреймворка автоматического тестирования pytest. Фикстуры представляют собой функции, которые можно использовать для решения различных задач при проведении автоматизированного тестирования.

Шпаргалка

Разъяснивший Python
os.getloadavg()

os.getloadavg() возвращает среднюю нагрузку на систему за последние 1, 5 и 15 минут. Это полезно для мониторинга производительности и загрузки CPU.

Разъяснивший Python
Что такое генераторные выражения в Python и чем они отличаются от списковых выражений?

Генераторные выражения — это компактный способ создания итераторов в Python. Они похожи на списковые выражения (list comprehensions), но возвращают по одному элементу за раз, а не создают сразу весь список. Это делает их более эффективными по памяти, особенно для обработки больших объемов данных.

➡️ Пример:

# Списковое выражение — создает весь список в памяти
squared_list = [x**2 for x in range(10)]
print(squared_list) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

# Генераторное выражение — возвращает по одному значению
squared_gen = (x**2 for x in range(10))
print(next(squared_gen)) # 0
print(next(squared_gen)) # 1


Разъяснивший Python
Пишем небольшое приложение на Python для повышения продуктивности с помощью ИИ и BotHub API

Статья объясняет, как создать приложение для автоматического анализа онлайн-встреч. Используя API BotHub (Whisper-1 + Claude 3.5 Sonnet), вы научитесь извлекать ключевые идеи, распределять задачи и генерировать отчёты в формате PDF.

Читать...

Разъяснивший Python
Запускаем Python в интерактивном режиме

Если код не работает, но ты не понимаешь почему, попробуй запустить его так.

После выполнения программа не закроется, и ты сможешь вручную проверить переменные!

Позволяет исследовать код после его выполнения
Не требует установки сторонних программ

Разъяснивший Python
Photo-Video-Watermark — код готового Telegram-бота для добавления водяных знаков на фото и видео!

Поможет защитить свой контент: просто отправьте файл, бот добавит водяной знак по вашим настройкам.

Стек и возможности:
Гибкие настройки (размер, прозрачность, позиция).
Поддержка фото и видео.
Работает на Python + FFmpeg + Pillow.

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

Разъяснивший Python
gc.freeze()

gc.freeze() фиксирует все уже существующие объекты в памяти, исключая их из будущих сборок мусора. Это полезно для оптимизации долгоживущих процессов, например, серверов или CLI-приложений, снижая нагрузку на сборщик мусора.

Разъяснивший Python