Автоматическое форматирование Python кода с помощью Black
Сегодня мы расскажем вам о незаменимом инструменте для поддержания структуры и читаемости вашего Python кода - Black. Black - это автоматический форматтер кода, который помогает вам избавиться от несогласованных стилей и выравнивает ваш код согласно официальным рекомендациям PEP 8.
Что такое Black?
Black - это инструмент для автоматического форматирования Python кода, разработанный с учетом строгих принципов. Он призван обеспечить единообразие в структуре кода и упростить его чтение для всех участников проекта.
Преимущества использования Black:
- Единообразие: Black гарантирует, что ваш код будет соответствовать стандартам PEP 8, что делает его более читаемым и понятным.
- Автоматизация:Black автоматически форматирует код, что позволяет избежать рутинных задач по выравниванию и форматированию.
- Интеграция:Black легко интегрируется в ваш рабочий процесс с помощью популярных инструментов разработки, таких как VSCode, PyCharm и других.
- Кастомизация: Вы можете настроить некоторые параметры Black, чтобы адаптировать его к вашим потребностям.
Как использовать Black?
Для начала, установите Black с помощью pip:
pip install black
Затем, вы можете использовать Black для форматирования вашего кода следующим образом:
black your_python_file.py
Black автоматически примет ваш код и приведет его к согласованному стилю. Вы также можете настроить некоторые аспекты форматирования, чтобы сделать его идеально подходящим для вашего проекта.
#python#Black#форматирование#код#PEP8
Анализ видео: цвет
На прошлом этапе мы записали по одному кадру видео в секунду в список captures_array. Имея данные о кадрах в формате rgb, мы можем определить преобладающие оттенки.
Для этого используем метод кластеризации, а точнее kmeans. Он позволяет разбить массив на нужное число групп по близости значений и выделить их центры (центроиды). Эти значения являются доминирующими оттенками кадра. На мой взгляд, детальность данных будет достаточная, если выделить пять центроидов (k). Этот алгоритм нужно применить в цикле к каждому кадру (capture):
# определяем размеры массива
shape = capture.shape
# пересобираем в одномерный массив
ar = capture.reshape(np.product(shape[:2]), shape[2]).astype(float)
# находим заданное число центроидов
centroids,_ = kmeans(ar, k)
В итоге получаем палитру каждого кадра фильма в хронологическом порядке. Как ее визуализировать, расскажу в следующем посте.
P.S. Полный код оставила в комментариях.
#датавиз#python
Анализ видео: подготовка данных
Я использую python, но общая логика алгоритма может пригодиться и для других языков.
Сначала нужно покадрово считать видео. Сделаем это с помощью библиотеки OpenCV (cv2):
import cv2
# видео целиком
video = cv2.VideoCapture('file_name.mp4')
# частота кадров
fps = int(video.get(cv2.CAP_PROP_FPS))
# число кадров во всем видео
frame_count = int(video.get(cv2.CAP_PROP_FRAME_COUNT))
Теперь можно запустить цикл и собрать один кадр за каждую секунду. В цикле повторяется такой код:
ret, frame = video.read()
Каждую итерацию считывается следующий кадр. В ret записывается информация о корректности считывания (True/False), frame — кадр в формате массива с rgb каждого пикселя.
Имея частоту видео, мы можем записать только один кадр в секунду. Такого объема данных достаточно для анализа. В итоге получаем список с числом кадров равным длительности видео в секундах. Что делать с ним дальше расскажу в следующем посте.
P.S. В комментариях полный код этой части.
#датавиз#python
🔥 Сегодня
**Moscow Python Meetup**
📅 22 февраля / 18:00 / Москва, ул. Льва Толстого, д.16, конференц-зал «Экстрополис»
💵 Бесплатно
📝 Регистрация тут: https://goo.gl/sqFZUE
53я встреча сообщества Moscow Python. С докладами выступят разработчики из «Лаборатории Касперского», Сбербанка и Яндекса. Они расскажут об asyncio, мобильной разработке на Питоне и о применении JupyterHub.
🔗 Программа: https://goo.gl/kKpQqv
🔗 Сайт: https://goo.gl/8Woxvh
#python#Москва
✅ Завтра
**Moscow Python Meetup**
📅 22 февраля / 18:00 / Москва, ул. Льва Толстого, д.16, конференц-зал «Экстрополис»
💵 Бесплатно
📝 Регистрация тут: https://goo.gl/sqFZUE
53я встреча сообщества Moscow Python. С докладами выступят разработчики из «Лаборатории Касперского», Сбербанка и Яндекса. Они расскажут об asyncio, мобильной разработке на Питоне и о применении JupyterHub.
🔗 Программа: https://goo.gl/kKpQqv
🔗 Сайт: https://goo.gl/y82XG7
#python#Москва
❗️Показываем подробно как сделать игру для ТГ
После последней публикации поступили вопросы как именно запустить игру в ТГ. Мы подробно описали весь механизм в нашем Дзен канале "Шашков & Головко • AI в решениях". Процесс на самом деле несложный, доступен с базовыми знаниями.
На видео — демонстрация всех шагов:
🔹Генерация кода игры через Claude
🔹Размещение на GitHub Pages
🔹Интеграция с Telegram через BotFather
🔹Запуск готового приложения
От идеи до рабочей игры можно добраться за 30 минут. Программировать самостоятельно ничего не надо.
Читать подробную инструкцию🔵Попробовать готовую игру
#ИИ#AI#Нейросети#Claude
———
#Инструменты#Код
Подписывайтесь: @aiforproduct
💬Создаем Telegram Mini Apps через Claude
Решили проверить, насколько хорош Claude в создании готовых мини-приложений под ключ.
Дали простой промт:
а ты можешь мне создать приложение в виде игрушки простой, которую можно в ТГ погонять прямо в чате?
🗂Результат:
- Claude сразу создал полноценную игру с интерфейсом
- Код работал с первого раза, без доработок
- За десяток минут от промта до готового приложения в ТГ (для реального запуска нужно разместить на GitHub и создать приложение через @BotFather)
Теперь наша игрушка работает прямо тут, в ТГ! Зайдите в приложение и оцените качество быстрой генерации.
#ИИ#AI#Нейросети#Claude
———
#Инструменты#Код
Подписывайтесь: @aiforproduct
❤️🔥Claude Code - тот случай, когда часами можно смотреть, как кто-то работает.
На видео демонстрируем новый инструмент от Anthropic — Claude Code. Это помощник для разработчиков, который позволяет работать с вашим кодом прямо в терминале. Он подключается к проекту и все делает буквально за вас. Вам останется только тестировать и давать команды.
Что умеет:
- Создаёт полноценные проекты по вашему описанию. Достаточно хотя бы на пальцах объяснить, что нужно.
- Сам анализирует файлы и структуру вашего кода, или создает все с нуля.
- Исправляет ошибки, получив лог
- Добавляет новую функциональность
- Отвечает на вопросы о коде
💎 Точно может сэкономить часы работы, особенно, если вы не совсем программист. С лёгкими проектами справляется за день. На видео создание бота заняло всего 15 минут. Понимает контекст и честно отвечает на вопрос: "Это ты костыль поставил?". Может работать в разных терминалах с несколькими проектами одновременно.
Доступно в подписке Claude Max от 100$ в месяц. ВПН.
#ИИ#AI#Нейросети#Claude
———
#Инструменты#Код
✍️Подписывайтесь: @aiforproduct