Обновить
517.72

Python *

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

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

Функции Python — это объекты первого класса

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

Функции Python — это объекты первого класса. Их можно присваивать переменным, хранить в структурах данных, передавать в качестве аргументов другим функциям и даже возвращать в качестве значений из других функций. Интуитивное понимание этих понятий значительно облегчит понимание таких продвинутых функций Python, как лямбды и декораторы. А также поможет вам продвинуться на пути к техникам функционального программирования.

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

Читать далее

Подходы к реализации паттерна Фабрика в Python

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

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

Читать далее

7 уровней построения интерфейсов командной строки на Python

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

Автор

Выполняйте свои скрипты Python, как команды bash

Написание скриптов Python для создания интерфейсов командной строки (CLI) — широко используемый метод для DevOps и бэкенд разработки.

Ключом к реализации CLI в Python является встроенный модуль argparse. Он предоставляет все необходимые функции и позволяет использовать скрипт Python в качестве команды bash.

В этой статье будут представлены некоторые важные моменты создания CLI с помощью Python на 7 уровнях сложности.

Погрузиться

Как создать README для Python-проекта за 10 минут: руководство с использованием ChatGPT и Midjourney

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

Привет, читатели Habr! Сегодня я хочу поделиться с вами уникальными и полезными советами о том, как за считанные минуты создать качественный README для вашего Python-проекта и стильный логотип, используя возможности ChatGPT и Midjourney.

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

Основная цель состоит в том, чтобы ChatGPT мог разобраться в коде нашего проекта и без труда составить для него README. Однако стоит учесть ограничения: GPT-4 может запомнить до 25 000 слов в диалоге, а GPT-3 — до 3 000 слов. Если вы превысите эти лимиты, ChatGPT потеряет контекст. В связи с этим, просто скопировать 100 000 строк кода и попросить ИИ составить README не получится. Вместо этого мы научимся экономить количество слов и максимально эффективно использовать возможности ИИ.

Читайте далее, и вы узнаете самые лучшие практики и секреты создания README и логотипов с помощью ИИ!

Читать далее

Как я сделал Telegram-бота для студентов РТСУ

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

Привет, Хабр! Я учусь в Российско-Таджикском Славянском университете, собственно у нас в университете действует так называемая кредитно-бальная система.

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

Оно доступно для Android.

Читать далее

Ирина, голосовой помощник — теперь и со вкусом GPT-3

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

«Лама... Альпака...Чатгпт...» — раздавалась в уютненьком чатике по Ирине.

Хабр был не лучше — статьи по работе с GPT множились как грибы, а в комментах раздавались возгласы в духе «Дайте мне голосового помощника, с которым можно болтать!»

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

Тем не менее, и меня заинтересовало, насколько весело будет именно болтать с GPT, но самому в коде и платном API‑доступе разбираться не хотелось. Но сегодня утром меня снабдили и примером, и ключиком...

‑-

Это продолжение моих статей о разработке голосового помощника Ирины, не зависящего от крупных корпораций. У нас есть печеньки:

— Полностью оффлайн SpeechToText и TextToSpeech
— Поддержка плагинов
— Готовые команды «таймер», «погода» и ряд прочих. Поддержка HomeAssistant.
— Поддержка работы в клиент‑серверном режиме — сервер + куча микрофонов + Телеграм‑клиент, например.

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

TL;DR> Добавлен плагин для общения с GPT-3 нейросетью. Сделан пакет упрощенной установки под Windows — «скачай и запусти». Сделано два веб‑клиента — один распознает слова прям в браузере (тяжелый), другой отправляет весь звуковой поток на сервер (легкий) — так что можно запускать клиенты, например, на смартфоне. Добавлен TTS Silero v3 — имхо, лучшее озвучивание доступное в открытом доступе. Сделан докер‑образ для быстрого запуска Ирины без установки зависимостей. Добавлено нечеткое распознавание фраз. Обновлена VOSK‑модель распознавания голоса на специально натренированную для Ирины.

Читать далее

Андрей Гейн: субъективные новости из мира Python

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

Февральскую конференцию EkbPy в Екатеринбурге открывал Андрей Гейн со своим субъективным обзором главных новостей Python. Этот доклад стал одним из лучших на конференции по мнению слушателей, и мы решили поделиться некоторыми его тезисами с вами. 

Читать далее

Ломаем текстовую капчу на примере VK или брутфорсинг до сих пор актуален

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

Что мы знаем о капче? Капча - автоматизированный тест тьюринга, помогающий отсеивать подозрительные действия недобросовестных роботов от реальных людей. Но, к сожалению ( или к счастью, смотря для кого ), текстовая капча сильно устарела. Если еще 10 лет назад она была более-менее эффективным методом защиты от роботов, то сейчас ее может взломать обойти любой желающий робот, более-менее разбирающийся в компьютере.

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

А ну-ка поподробнее

Декоратор cached_property

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

В этой статье хочется рассмотреть декоратор cached_property. Почему он есть и в стандартной библиотеке и в Django. Чем они отличаются и когда какой лучше использовать

Читать далее

Как стать Python-разработчиком с нуля — личный опыт

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

Это мой первый пост, прошу сильно не пинать. Для начала немного расскажу, кто такой тестировщик. Это специалист, который отлавливает ошибки на всех этапах разработки проекта. Работа рутинная, но ответственная. Получают тестировщики на 20-30% меньше, чем программисты: от 30 000 руб. и выше, всё зависит от опыта.

Становление тестировщиком – самый простой путь старта в IT, есть куда расти (тест-менеджмент, веб-дизайн, чистая разработка).

Эту информацию я почерпнул из открытых источников и подумал, что вот, я не умею программировать, а получать астрономическую зарплату работать в IT – хочется. Думал, что начну с ручного тестирования, устроюсь на работу – а дальше, как пойдёт.

Но на практике оказалось не всё так просто. Кругом полно таких же людей, который думают точно также же, и такие специалисты маловостребованы. Для чего вообще берут на работу стажёров? Работодатель ожидает, что в ближайшем будущем навыки стажёра охрененно вырастут и он будет приносить огромную пользу фирме с дальнейшим повышением зарплаты (но не всегда таким, какую ожидает стажёр). Поэтому чаще всего стажёры, получив опыт, либо настаивают на значительном повышении з/п или уходят к конкурентам.

Несмотря на грустные мысли, я поставил цель – изучить навыки тестирования на Python хотя бы на уровне продвинутого стажёра.

Открыть гайд

Учим ChatGPT говорить и слушать

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

В этой мини статье я покажу как на компьютере при помощи Python3 дать возможность ChatGPT слушать вас и отвечать на вопросы без использования клавиатуры и дисплея.

Читать далее

Анализ подбора гиперпараметров при обучении нейронной сети прямого распространения — FNN (на примере MNIST)

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

Фичей побольше, лямбду поменьше, еще dropout и batchsize...
- "играемся" с гиперпараметрами для практического понимания смысла значений и терминов.
Полезно при изучении обучения нейронных сетей.

Читать далее

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

Пайплайн для создания классификации текстовой информации

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

Привет, Хабр!

Меня зовут Дарморезов Вадим, я Data Scientist и участник профессионального сообщества NTA. Актуальность работы с большими объемами текстовой информации ещё долгое время (а может быть и всегда) будет неоспорима. При этом спектр задач весьма вариативен – от задач по поиску именованных сущностей, до классификации и кластеризации текстов обрабатываемых документов.

Представим ситуацию. Перед вами важная задача – классифицировать огромный поток входящих обращений сотрудников/клиентов для дальнейшего анализа профильными сотрудниками на предмет отклонений и для построения интересующих статистик. Первое решение, приходящее в голову – в ручном режиме просматривать обращения и проводить их классификацию. Спустя пару часов, приходит осознание того, что решение было не самым правильным и так задачу не выполнить в срок. Как же тогда поступить? Именно об этом будет следующий пост.

Узнать больше

От парсинга к Private API. В гонке за производительностью

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

В статье будет затронут способ с применением ревёрсинга траффика Android-устройства для обнаружения endpoints, по которым можно взять то, что лежит в более приятной форме, нежели получаемое через парсинг HTML-дерева.

Читать далее

Как работает нативная поддержка категорий в XGBoost

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

XGBoost и другие методы на основе дерева решений, обучающие модели при помощи градиентного подъема, принимают решение через сравнение, тогда как определить оператор сравнения категорий математически — это нетривиальная задача.


Ниже объясняется, какие есть варианты, подробно рассказывается об их плюсах и минусах. Особое внимание уделяется встроенной поддержке категориальных функций, представленных недавно в XGBoost и LightGBM.


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

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

Как с помощью AI-интеграций повысить популярность проекта

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

Рассказываем о том, как внедряли новомодные AI-инструменты в проект. Как это повлияло на его популярность и что за этим последовало — читайте в статье.

Технические особенности проекта: фреймворк — Laravel, БД — PostgreSQL, кэш/очереди — Redis, архитектура — основной кластер DigitalOcean Kubernetes и графический кластер GKE.

Читать далее

Девайс HabrScore для хаброзависимых с блекджеком и …

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

|300


Понравилась статья HabraTab — девайс для хаброзависимых, где описана разработка устройства для визуализации рейтинга пользователя на Хабре.


И мне очень захотелось подобное устройство, вот только было несколько но:


  • Очень лень было делать, заказывать и паять печатную плату
  • Еще хотелось выводить рейтинг последней статьи, но хардкодить адрес и каждый раз пересобирать прошивку показалось очень муторно.
  • Разработка на С/С++ меня не пугает, так как занимаюсь этим более 20 лет, но писать что-то под Arduino у меня душа не лежит. И это не говоря про необходимость настройки системы сборки под конкретный микроконтроллер.

Короче, немного поразмыслив, было принято решение делать свое устройство для визуализации рейтингов на Хабре, и как обычно с блекджеком и… ну вы поняли. И самое главное, чтобы можно было собирать устройство из покупных деталей с Алиэкспресса для максимально простого повторения и кодить на чем-нибудь попроще, чем на С/С++.

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

Как мы искали самый точный метод детектирования ключевых точек

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

Найдутся ли среди новых методов конкуренты старому доброму SIFT?

Читать далее

Поиск ошибок в логике работы чат-бота с помощью TF-IDF и DBSCAN

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

Привет, Хабр!

Меня зовут Котов Илья, я Data Scientist и участник профессионального сообщества NTA.

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

Читать далее

Вклад авторов