Антипаттерн недели:
В Python использование
Всегда явно указывайте тип исключения.
Разъяснивший Python
except: без указания типа исключенияВ Python использование
except: без типа перехватывает все ошибки, включая системные (KeyboardInterrupt, SystemExit). Это может затруднить отладку и скрыть критические проблемы.Всегда явно указывайте тип исключения.
Разъяснивший Python
Оживляем пиксели по-взрослому!
Lada — умное Python приложение на базе ИИ, предназначенное для восстановления пикселизированных, "взрослых" видео и возвращение картинке былой чёткости 😈
Работать с ним можно как через удобный графический интерфейс, так и прямо из командной строки.
Что важно знать:
Нужна видеокарта Nvidia с поддержкой CUDA;
Для видео в 1080p потребуется минимум 6–8 ГБ видеопамяти, для 4K — желательно побольше.
Всё восстановленное видео можно сохранить в отдельный файл — без искажений и артефактов.
GitHub/Инструкция
Разъяснивший Python
Lada — умное Python приложение на базе ИИ, предназначенное для восстановления пикселизированных, "взрослых" видео и возвращение картинке былой чёткости 😈
Работать с ним можно как через удобный графический интерфейс, так и прямо из командной строки.
Что важно знать:
Нужна видеокарта Nvidia с поддержкой CUDA;
Для видео в 1080p потребуется минимум 6–8 ГБ видеопамяти, для 4K — желательно побольше.
Всё восстановленное видео можно сохранить в отдельный файл — без искажений и артефактов.
GitHub/Инструкция
Разъяснивший Python
Замеряем время выполнения кода
Иногда важно понять, сколько времени занимает выполнение определённого блока кода — особенно при отладке или оптимизации. Вместо сложных инструментов можно использовать встроенный модуль
Простой способ — сохранить текущее время перед началом работы и вычесть его из времени после выполнения кода.
Итог:
Используйте
Разъяснивший Python
Иногда важно понять, сколько времени занимает выполнение определённого блока кода — особенно при отладке или оптимизации. Вместо сложных инструментов можно использовать встроенный модуль
time.Простой способ — сохранить текущее время перед началом работы и вычесть его из времени после выполнения кода.
Итог:
Используйте
time.time() для простого и наглядного замера времени выполнения кода — удобно при отладке и профилировании.Разъяснивший Python
👎2
importlib.invalidate_caches
Разъяснивший Python
importlib.invalidate_caches() очищает внутренний кэш путей поиска модулей. Это полезно при динамическом создании или удалении .py файлов, особенно в тестах, плагинах и REPL-средах, когда модуль может появиться в процессе выполненияРазъяснивший Python
faulthandler.dump_traceback_later
Разъяснивший Python
faulthandler.dump_traceback_later планирует автоматический вывод стека вызовов через заданное количество секунд. Это полезно для отладки зависших программ, бесконечных циклов или неожиданных блокировокда модуль может появиться в процессе выполненияРазъяснивший Python
Проверяем, существует ли файл
Часто в программах нужно проверить, существует ли файл перед его использованием. Новички могут пробовать открывать файл и ловить исключения, но Python предлагает более элегантный способ через os.path.
Функция
Итог:
С помощью
Разъяснивший Python
Часто в программах нужно проверить, существует ли файл перед его использованием. Новички могут пробовать открывать файл и ловить исключения, но Python предлагает более элегантный способ через os.path.
Функция
os.path.exists() проверяет наличие файла или директории по заданному пути. Это безопасный и читаемый способ убедиться, что нужный файл действительно есть перед его использованием.Итог:
С помощью
os.path.exists() можно легко и безопасно проверять существование файлов, избегая лишних ошибок при открытии несуществующих путей.Разъяснивший Python
👍1
Работаем с переменными окружения в Python
Переменные окружения часто используются для хранения конфиденциальных данных — например, API-ключей, логинов, паролей. Вместо того чтобы хардкодить их в код, безопаснее читать их через
Это удобно, безопасно и позволяет легко переключаться между разными окружениями (например, dev и prod).
Итог:
Используйте
Разъяснивший Python
Переменные окружения часто используются для хранения конфиденциальных данных — например, API-ключей, логинов, паролей. Вместо того чтобы хардкодить их в код, безопаснее читать их через
os.environ.Это удобно, безопасно и позволяет легко переключаться между разными окружениями (например, dev и prod).
Итог:
Используйте
os.environ.get() для безопасного доступа к переменным окружения — это защищает ваш код от утечек данных и упрощает настройку.Разъяснивший Python
Преобразуем объект в JSON-строку
Часто возникает необходимость сериализовать данные — например, отправить словарь через API или сохранить в файл. Новички могут пытаться делать это вручную, но Python предлагает простой способ через модуль json.
С помощью
Итог:
Модуль
Разъяснивший Python
Часто возникает необходимость сериализовать данные — например, отправить словарь через API или сохранить в файл. Новички могут пытаться делать это вручную, но Python предлагает простой способ через модуль json.
С помощью
json.dumps() можно быстро преобразовать любой объект (например, словарь) в строку формата JSON.Итог:
Модуль
json позволяет удобно преобразовывать Python-объекты в строки JSON. Используйте json.dumps() для сериализации.Разъяснивший Python
Получение ID текущего процесса
Функция i
Разъяснивший Python
Функция i
d() возвращет уникальный идентификатор переданного ей в качестве аргумента объекта. Этот идентификатор является адресом в памяти, по которому расположен сам объект.Разъяснивший Python
👎1🌚1
Мы раскрываем скрытые механизмы ядра через наглядные шпаргалки и яркую визуальную графику, детально разбираем малоизвестные команды и скрипты.
Экспресс-гайды, которые экономят часы поиска: t.me/linuxacademiya
Please open Telegram to view this post
VIEW IN TELEGRAM
math.isclose
Разъяснивший Python
math.isclose проверяет, близки ли два числа с плавающей запятой с учётом относительной и абсолютной погрешности. Это полезно при сравнении вещественных чисел, где прямое сравнение через == ненадёжно из-за ошибок округленияРазъяснивший Python
❤2
Симуляция частиц с Pygame
С помощью Pygame можно создать простую, но очень эффектную 2D-игру-симуляцию песка. Игрок будет сыпать песчинки мышкой, а частицы под действием гравитации будут падать вниз.
При желании ты можешь улучшить проект: добавить воду и огонь, реализовать эффекты ветра и многое другое.
ссылка на код
Разъяснивший Python
С помощью Pygame можно создать простую, но очень эффектную 2D-игру-симуляцию песка. Игрок будет сыпать песчинки мышкой, а частицы под действием гравитации будут падать вниз.
При желании ты можешь улучшить проект: добавить воду и огонь, реализовать эффекты ветра и многое другое.
ссылка на код
Разъяснивший Python
Получаем список файлов в папке
Нужно обработать все файлы в директории? Новички часто пытаются вручную указывать имена, но Python позволяет получить список файлов автоматически!
Модуль os предоставляет метод
Итог:
Используйте
Разъяснивший Python
Нужно обработать все файлы в директории? Новички часто пытаются вручную указывать имена, но Python позволяет получить список файлов автоматически!
Модуль os предоставляет метод
listdir(), который возвращает содержимое директории, а фильтрация с помощью os.path.isfile() позволяет выбрать только файлы.Итог:
Используйте
os.listdir() + os.path.isfile(), чтобы получить список всех файлов в директории — удобно для массовой обработки, загрузки или анализа.Разъяснивший Python
Современные реализации бустинга
Хотя sklearn вполне неплох для обучения, в проде чаще используют специализированные библиотеки, заточенные под бустинг.
Например, XGBoost. Он очень быстрый, поддерживает регуляризацию, отложенное построение деревьев, а также раннюю остановку.
LightGBM работает еще быстрее, идеально подходит для очень больших данных. CatBoost же супер дружелюбен к категориальным признакам, даже не нужно кодировать вручную. Присутствует поддержка GPU.
Разъяснивший Python
Хотя sklearn вполне неплох для обучения, в проде чаще используют специализированные библиотеки, заточенные под бустинг.
Например, XGBoost. Он очень быстрый, поддерживает регуляризацию, отложенное построение деревьев, а также раннюю остановку.
LightGBM работает еще быстрее, идеально подходит для очень больших данных. CatBoost же супер дружелюбен к категориальным признакам, даже не нужно кодировать вручную. Присутствует поддержка GPU.
Разъяснивший Python
qrcode — довольно простой модуль, для генерации qr cod'ов в Python!
Разберёмся с формулировками:
Метод QRCode.add_data() добавит данные к текущему объекту qr. Чтобы добавить новые данные путем замены предыдущего содержимого в том же объекте, сначала используйте метод QRCode.clear().
QR-код — это виртуальная база данных в виде незамысловатого значка и хранит в себе около 4200 символов, в последствии QR-код можно отсканировать и получить информацию заложенную в нём.
Примеры
На примере выше мы добавляем данные с помощью метода qr.add_data , определеляем переменную img и сохраняем наш qr-код.
Очищаем qr-код и добавляем новые данные
У модуля qrcode есть множество методов для кастомизации qr-кодов. Например в телеграмме тоже есть кастомизация qr-кодов(для входа в аккаунт или отправки qr-cod'a своего аккаунта. Так же модуль довольно гибок, поэтому настроить его можно полностью под себя :)
Ставится командой ⚙️
Разъяснивший Python
Разберёмся с формулировками:
Метод QRCode.add_data() добавит данные к текущему объекту qr. Чтобы добавить новые данные путем замены предыдущего содержимого в том же объекте, сначала используйте метод QRCode.clear().
QR-код — это виртуальная база данных в виде незамысловатого значка и хранит в себе около 4200 символов, в последствии QR-код можно отсканировать и получить информацию заложенную в нём.
Примеры
На примере выше мы добавляем данные с помощью метода qr.add_data , определеляем переменную img и сохраняем наш qr-код.
Очищаем qr-код и добавляем новые данные
У модуля qrcode есть множество методов для кастомизации qr-кодов. Например в телеграмме тоже есть кастомизация qr-кодов(для входа в аккаунт или отправки qr-cod'a своего аккаунта. Так же модуль довольно гибок, поэтому настроить его можно полностью под себя :)
Ставится командой ⚙️
pip install qrcode
Документация и примеры кода здесь.Разъяснивший Python