Обновить
1024K+

Python *

Высокоуровневый язык программирования

673,44
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Ядро планеты Python. Интерактивный учебник

Время на прочтение67 мин
Охват и читатели68K

Добрый день! Меня зовут Михаил Емельянов, недавно я опубликовал на «Хабре» небольшую статью с примерным путеводителем начинающего Python-разработчика. Пользуясь этим материалом как своего рода оглавлением книги, я написал первые четыре главы мини-учебника «Ядро планеты Python», где постарался коротко, но достаточно ёмко раскрыть специфику, удобство, красоту и силу этого прекрасного языка.


Оригинал учебника лежит на GitHub, вы вольны сколько угодно дополнять и переделывать его. Самое главное — учебник написан на Jupiter Notebook, а это значит, что вы можете интерактивно редактировать код, мгновенно добавляя новые сущности или проясняя непонятные моменты.


Core of the planet Python

Читать дальше →

Восемь признаков недо-yield вашего проекта на Python

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели7.8K
half-python
Kandinsky 2.1: Умпалумпы программируют python код без yield
Иногда говорят, что код имеет запах. Это относится к стилистике написания, выбору переменных и т.п. Однако, когда речь идет про циклы, я предпочитаю использовать термин «недо-yield», характеризующий стиль работы программиста в циклах и с массивами данных.

Представим себе, что Пупа и Лупа взялись писать код на Python. Но Лупа заболел, и Пупе пришлось писать код за… него. Код, который у них в итоге получился, используется во множестве репозиториев и был тепло оценен Python-сообществом в форме нескольких PEP-соглашений. Предлагаю вам пройтись по такому коду, принюхаться и обратить внимание на некоторые строки.
Читать дальше →

Как получать стипендию Тинькофф, зная лишь ChatGPT?

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели22K

Как получать стипендию Тинькофф зная лишь ChatGPT?

Я студент и увидел, что Тинькофф выплачивает целых 25 тысяч рублей студентам каждый месяц, но надо пройти некий отбор. По описанию на сайте быстро становится понятно, что отбор на самом деле - некий аналог олимпиадных задач.

И тут я вспомнил про ChatGPT, и мне стало интересно, если бы я был практически полным нулем в программировании, смог бы я получить стипендию, используя нейросеть?

Читать далее

Релиз Django LTS 4.2: обзор изменений и необходимости обновления

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели11K

В апреле 2023 года вышла новая LTS-версия Django Web Framework, одного из самых популярных фреймворков для веб-разработки на Python.

«Вышла новая версия! Почему вы до сих пор не перешли на неё?» — такой вопрос часто возникает у студентов, изучающих этот фреймворк на курсах программирования. Аналогичный вопрос можно услышать и от начинающего специалиста, который недавно приступил к выполнению своих обязанностей в качестве бэкенд-разработчика.

А стоит ли сейчас вообще начинать новый проект на Django или изучать этот фреймворк? В этой статье я, Евгений Бартенев, техлид и автор курса «Python-разработчик», помогу разобраться с этими и другими вопросами. Мы поговорим о разных типах релизов Django, посмотрим на главные изменения в новом и затронем основные аспекты, которые следует учитывать при обновлении версии Django в проекте.

Читать далее

Генеалогическое древо на Python

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели9K

В этой коротенькой статье мы обсудим простенький и относительно не сильно извращённый способ сохранения информации о своей семье при помощи скриптов на Python. Для этого мы будем использовать модуль Diagrams.

Читать далее

Пишем приложение на Python для интерактивной визуализации графов с NetworkX, Plotly и Dash

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели19K

Промпт: интерактивная визуализация сети транзакций, абстракция на белом фоне

Говорят, хорошая визуализация данных лучше тысячи слов о них, и с этим трудно спорить.

Эта статья посвящена написанию приложения на Python для интерактивной визуализации графов. В первой части представлен краткий обзор использованных средств и библиотек, а также свойства приложения. Во второй половине — технические детали, касающиеся использования NetworkX, Plotly и Dash, и собственно код.

В результате всего за 300 строк на Python получится веб-приложение с пользовательским интерфейсом, отображающим ориентированный граф с несколькими селекторами для настройки используемых данных.

Погнали!

Автоматическое построение плоской панорамы

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели11K

В статье представлен простой алгоритм автоматического сшивания нескольких фотографий в плоское (иногда называют перспективное) панорамное изображение (planar/perspective panoramic image). Статья содержит код на языкеPythonс использованием библиотекиOpenCV.

Читать далее

Полезные методы работы с данными в Pandas. Часть 2

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели28K

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

Я продолжаю рассказывать о полезных, но менее известных методах работы с данными в Pandas, которые могут значительно повысить вашу эффективность при анализе и обработке данных. По данной ссылке вы можете прочитать первую статью.

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

Читать далее

Ускорение работы моделей Stable Diffusion на процессорах Intel

Уровень сложностиСложный
Время на прочтение8 мин
Охват и читатели8.6K

Недавно мы рассказывали о последнем поколении процессоров Intel Xeon (кодовое название Sapphire Rapids). Мы говорили об их новых аппаратных возможностях, ориентированных на ускорение задач глубокого обучения,  разбирались с тем, как использовать их для ускорения распределённого дообучения трансформеров, занимающихся обработкой естественного языка, как применять их для ускорения работы таких моделей.

В этом материале мы собираемся остановиться на различных подходах к ускорению моделей Stable Diffusion на процессорах Sapphire Rapids. В следующем похожем посте речь пойдёт о распределённом дообучении.

Читать далее

Дружим chatGPT 3.5 с выдачей Google в Telegram боте

Время на прочтение8 мин
Охват и читатели4.4K

Использование искусственного интеллекта в интернет-поиске становится все более распространенным. Давайте рассмотрим создание Telegram бота, который позволит вам искать ответ в выдаче Google без необходимости заходить на сайты. ChatGPT 3.5 проводит анализ текста сайтов в выдачи Google и формирует чёткий и лаконичный ответ на запрос пользователя.

Читать далее

Python Дайджест: как сделать CI для OpenSource проекта с Github Actions

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели3.1K

Экватор рассказа про техническое оживление Python Дайджест проекта. Ранее рассказал как перейти с Python 3.4 на Python 3.11 и автоматически актуализировать весь код. В этой части расскажу про организацию CI для Open Source проекта на основе Github Actions — как гонять тесты, проверять код, зависимости, разворачивать приложение и делать бэкапы на внешнее хранилище.


Читать дальше →

Материалы python-митапа: Go для питонистов, syslog и контейнерные рантаймы

Время на прочтение2 мин
Охват и читатели2.7K

Привет, Хабр! Этот пост — отчёт с митапа Moscow Python x YADRO. Мы обсуждали отличия языков Python и Go, подробно разобрали работу с протоколом syslog и почти написали свой Docker. Если вам интересны эти темы — заходите под кат, там вы найдёте видеозаписи докладов, презентации спикеров и небольшой фотоотчёт. 

Читать далее

О чём все эти люди говорят, ChatGPT?

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели6.5K

Всем привет! Я продуктовый аналитик компании Интерсвязь, и у меня, как и у многих, часто всплывает потребность в том чтобы «разложить по полочкам» кучу разных текстов. Например:

1. Я хочу знать, о чем вообще все отзывы в маркете про мой продукт.

2. У меня есть много писем от клиентов на разные темы, и я хочу их систематизировать.

3. Мне может понадобиться проанализировать старые обращения пользователей в техподдержку, которые не были размечены.

Читать далее

Ближайшие события

Методика портирования пакетов Python в операционную систему «Нейтрино»

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели2.7K

Многие расширения (модули) Python поставляются в виде платформонезависимого байт-кода и могут быть использованы в системах с любой архитектурой. Однако, в некоторых случаях расширения поставляются в виде Py-исходников лишь частично. Например, часть внутренних функций может быть реализована на Си и для обеспечения работоспособности всего расширения потребуется их предкомпиляция для каждой требуемой архитектуры. В контексте ОС «Нейтрино» перечень последних достаточно широк.

В статье рассмотрим общий подход к портированию Python-расширений в нашу ОС. Для примера возьмем NumPy, чей жизненный путь проходит следующие стадии: нативный Pyhton код →трансляция в Си (Cython) → компиляция → запаковка результатов с wrapper-ами для Python.

Читать далее

Savant: новый высокопроизводительный фреймворк Python для видеоаналитики на оборудовании Nvidia

Уровень сложностиСредний
Время на прочтение22 мин
Охват и читатели6.2K

В статье рассматривается новый открытый фреймворк для потоковой видеоаналитики и демонстрируются его возможности на примере демонстрационного приложения, которое использует модель DeepStream’s PeopleNet для обнаружения людей и их лиц, размывает лица и отображает панель управления с помощью OpenCV CUDA.

Мы будем использовать Savant для обработки видео в реальном времени с протоколом RTSP и для обработки видеофайлов в пакетном режиме, чтобы продемонстрировать, как конвейер может достигать скорости 400 кадров в секунду на Nvidia Tesla T4.

Для тех, кто хочет сначала попробовать без подробностей, мы подготовили скрипты для быстрого старта на основе Docker Compose (раздел "Быстрый старт").

Savant на GitHub: https://github.com/insight-platform/Savant

Читать далее

Интеграция и кастомизация OpenAPI в Django/Django Rest Framework

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели10K

Рассмотрим способы интеграции OpenAPI схемы в экосистему Django/DRF с помощью библиотеки drf-spectacular, а также некоторые проблемы, возникающие при кастомизации API и, соответственно, их решения.

Читать далее

Пишем свой личный Duolingo на минималках

Время на прочтение15 мин
Охват и читатели13K

Привет, меня зовут Емельянов Михаил, я Python-программист и я хотел бы показать вам свой небольшой «проект выходного дня» — Flywheel, микро-платформу для изучения иностранных языков — смесь Duolingo и Anki, программу, которая может помочь вам правильно писать на английском. Flywheel доступен в исходниках, лежит на GitHub.



Как вы, возможно, знаете, обобщенное знание иностранного языка можно разложить на четыре относительно независимые составляющие: чтение, письмо, слушание и говорение. К сожалению, тренировка одной из этих способностей не будет напрямую отражаться на остальных компонентах, поэтому, например, развивая навык чтения, мы достаточно опосредованно влияем на навык письма. Flywheel — «точилка» именно для письменного английского.


Если вы когда-нибудь пользовались Duolingo, то имеете представление о формате, в котором будет идти обучение. Последовательность проста: вот тебе фраза, переведи её на другой язык; программа запомнит, когда ты в последний раз переводил ту или иную фразу и насколько успешно у тебя это получилось; в зависимости от правильности ответа будет определено время, когда тебе нужно задать эту же фразу еще раз. В целом, на мой взгляд, как сам Duolingo, так и используемый им подход — просто гениальны. Но… Есть нюансы, которые несколько портят впечатления от процесса учёбы, и именно для их устранения я и задумал Flywheel.

Читать дальше →

DSL фреймворк для создания Telegram ботов

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели11K

Родилась у меня идея! Я хочу создать фреймворк, который позволит пользователям писать своих ботов Telegram с помощью языка, специфичного для конкретной области (DSL), или визуального представления, например, диаграммы UML. На основе предоставленных данных фреймворк будет генерировать необходимый Python-код для создания полнофункционального Telegram-бота. Которого можно будет сразу запустить где то на хостинге.

Читать далее

Project_2. Местоположение с помощью IP-адреса (Python)

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели22K

Проект, который не отнимет много времени, но даст опыт, да и положительные эмоции.

Читать далее

Начинаем работу с PyTorch 2.0 и Hugging Face Transformers

Время на прочтение6 мин
Охват и читатели24K

В этом посте разберем работу с PyTorch 2.0 и Hugging Face Transformers на примере fine‑tune модели BERT для классификации текста.

PyTorch 2.0 лучше по производительности, скорости работы, более удобный для Python, но при этом остается таким же динамическим, как и ранее.

1. Настройка окружения и установка PyTorch 2.0.

2. Загрузка и подготовка датасета.

3. Fine‑tune и оценка модели BERT с помощью Hugging Face Trainer.

4. Запуск инференса и тестирование модели.

Читать далее