Обновить
564.27

Python *

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

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

Keyboa: клавиатуры на максималках для ботов в Telegram

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

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

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

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

Статья рассчитана на тех, кто знает основы Telegram Bot API и хотя бы немного знаком с фреймворком pyTelegramBotAPI.

Давайте разбираться

Мелкая питонячая радость #10: конечные автоматы и глубокое обучение в несколько строк

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

Конечно, самая большая радость этих дней — python 3.9. Но кроме этой радости кто-то должен ворошить github в поисках мелких приятностей, которые несут добро и свет тем, кто пишет на python.


Transitions


Тем, кому приходилось писать реализацию какого-нибудь сложного информационного процесса, знает эту проблему.


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


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

Визуализация при помощи генеративных алгоритмов: дифференциальная сетка (2D и 3D) и трещины

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

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

Все что вам необходимо знать: последнее время автору были особенно интересны биологические образы и дифференциальный рост. В посте есть результаты экспериментов с различными биологическими и физическими закономерностями, в частности дифференциальной сеткой, в том числе в 3D, и трещинами.
Осторожно, тяжелые красивые картинки

ipipou: больше чем просто нешифрованный туннель

Время на прочтение9 мин
Охват и читатели7.2K
Что мы говорим богу IPv6?

IPv6? Not today

Верно, и богу шифрования сегодня скажем то же.

Здесь будет о нешифрованном IPv4 туннеле, но не о «тёплом ламповом», а о модерновом «светодиодном». А ещё тут мелькают сырые сокеты, и идёт работа с пакетами в пространстве пользователя.
Читать дальше →

Как сделать интерактивную карту с помощью Python и open source библиотек

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

Сегодня делимся с вами пошаговым руководством создания интерактивных карт для веб-приложения или блога. Просто сохраните эту статью в закладках. Хоть и существует, например, библиотека d3.js, которая может создавать пользовательские карты, есть несколько инструментов еще проще. В этом посте посмотрим на три простые в обращении, но мощные библиотеки Python с открытым исходным кодом и поработаем с ними.
Читать дальше →

Разработка модели в PySpark ML на датасете с разными типами данных для ржавых чайников

Время на прочтение5 мин
Охват и читатели9.6K
А ты уже умеешь работать с несколькими типами данных в PySpark ML? Нет? Тогда тебе срочно нужно к нам.

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

Выбираем самый удобный редактор кода Python

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

Львиную долю своего рабочего времени программисты проводят в редакторах кода. В такой ситуации комфортность и удобство рабочей среды трудно переоценить. Конечно, писать код можно и в простейшем текстовом редакторе и сохранять в .html, но с продвинутым редактором это не сравнится. Особенно если редактор ориентирован на конкретный язык. Так как питон был и остается основным языком, используемым в Data Science, и именно ему мы уделяем особое внимание на наших курсах, делимся с вами переводом статьи, автор которой пишет о знакомых ему редакторах и о том, что он считает привлекательным в них.
Добро пожаловать под кат!

Выход стабильной версии Python 3.9.0

Время на прочтение9 мин
Охват и читатели34K
Сегодня, 05.10.2020 ожидается выход стабильной версии Python 3.9.0. Новая версия будет получать обновления с исправлениями примерно каждые 2 месяца в течение примерно 18 месяцев. Через некоторое время после выпуска финальной версии 3.10.0 будет выпущено девятое и последнее обновление с исправлением ошибок 3.9.

«This is the first version of Python to default to the 64-bit installer on Windows. The installer now also actively disallows installation on Windows 7.»
«Это первая версия Python, по умолчанию использующая 64-разрядный установщик в Windows. Программа установки теперь также запрещает установку в Windows 7.»

Я прочитал примечания к выпуску Python 3.9 и связанные с ними обсуждения. Основываясь на информации, я хотел написать исчерпывающее руководство, чтобы каждый мог получить представление о функциях вместе с их подробной работой.
Читать дальше →

Подборка статей о машинном обучении: кейсы, гайды и исследования за сентябрь 2020

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


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

Мы не устаем восхищаться возможностями GPT-3 и рассказывать о сферах ее применения, но многие при этом видят в алгоритме угрозу своей профессии.
И компания VMO, которая занимается A/B тестированием, решила провести соревнование — профессиональные копирайтеры против GPT-3.

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

Почему это так интересно?
Читать дальше →

Разработка графического профайлера Python FunctionTrace

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


Сегодня мы делимся с вами переводом статьи создателя FunctionTrace — профайлера Python с интуитивно понятным графическим интерфейсом, который может профилировать многопроцессорные и многопоточные приложения и потребляет на порядок меньше ресурсов, чем другие профайлеры Python. Неважно, только учитесь ли вы веб-разработке на Python, либо уже давно используете его — всегда полезно понимать, что делает ваш код. О том, как появился этот проект, о деталях его разработки — далее под катом.
Читать дальше →

Serverless телеграм бот с использованием Яндекс облака

Время на прочтение3 мин
Охват и читатели13K
Всем привет! Меня зовут Павлов Виктор, я являюсь практикантом-преподавателем информатики в одном из колледжей России. Так вот, для студентов мы стараемся внедрить в учебный процесс новейшие технологии и «Serverless» боты являются одним из таких направлений.

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

P.S. Также статья навеяна отсутствием туториала на языке Python, на Nodejs есть хороший туториал.

Ссылка на документацию Yandex Cloud Functions
Ссылка на документацию Telegram API.


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

Отношение один к одному: связывание модели пользователя с кастомной моделью профиля в Django

Время на прочтение5 мин
Охват и читатели10K
Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python».





Пфф… Снова базы данных?



В реляционной базе данных есть три основных отношения:

  • Отношение «один-к-одному»;
  • Отношение «один-ко-многим»;
  • Отношение «многие-ко-многим».

В этой статье мы будем разбираться с первым из них – отношением «один-к-одному».
Читать дальше →

7 бесплатных книг, которые следует прочитать каждому дата-сайентисту

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


Самообразование — пожалуй, один из самых сложных путей и процессов для взрослого человека. Когда вокруг столько отвлекающих факторов, уже трудно заставить себя довести дело до конца (особенно если мотивация неочевидна). Но самообразование как эволюция — это неотъемлемый элемент жизни любого профессионала или того, кто хочет им стать. Книги в этом случае могут стать тем самым выстрелом, которым убиваются два зайца, вы и растете как специалист, и не «выпадаете из жизни». Автор материала подобрал 7 бесплатных электронных книг, которые помогут вам изучать Data Science и ML.
Читать дальше →

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

Формат таблиц в pandas

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

Если вы пока ещё не знаете как транслировать данные напрямую заказчику в подсознание или, на худой конец, текст сообщения в slack, вам пригодится информация о том, как сделать процесс интерпретации таблиц более быстрым и комфортным.


Например, в excel для этого используется условное форматирование и спарклайны. А в этой статье мы посмотрим как визуализировать данные с помощью Python и библиотеки pandas: будем использовать свойства DataFrame.style и Options and settings.

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

Простейший голосовой помощник на Python

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


Для создания голосового помощника не нужно обладать большими знаниями в программировании, главное понимать каким функционалом он должен владеть. Многие компании создают их на первой линии связи с клиентом для удобства, оптимизации рабочих процессов и наилучшей классификации звонков. В данной статье представлена программа, которая может стать основой для Вашего собственного чат-бота, а если точнее – голосового помощника для распознавания голоса и последующего выполнения команд. С ее помощью мы сможем понять принцип работы наиболее часто встречаемых голосовых помощников.
Читать дальше →

Как задача из классического сбора данных перешла в решение простенькой задачи MNIST. Или как я спарсил сайт ЦИК

Время на прочтение9 мин
Охват и читатели7.6K
В один из будничных дней, под вечер, от моего начальника прилетела интересная задачка. Прилетает ссылка с текстом: «хочу отсюда получить все, но есть нюанс». Через 2 часа расскажешь, какие есть мысли по решению задачи. Время 16:00.

Как раз об этом нюансе и будет эта статья.

Я как обычно запускаю selenium, и после первого перехода по ссылке, где лежит искомая таблица с результатами выборов Республики Татарстан, вылетает оно

image

Как вы поняли, нюанс заключается в том, что после каждого перехода по ссылке появляется капча.

Проанализировав структуру сайта, было выяснено, что количество ссылок достигает порядка 30 тысяч.

Мне ничего не оставалось делать, как поискать на просторах интернета способы распознавания капчи. Нашел один сервис

+ Капчу распознают 100%, так же, как человек
— Среднее время распознавания 9 сек, что очень долго, так как у нас порядка 30 тысяч различных ссылок, по которым нам надо перейти и распознать капчу.

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

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

На часах уже было 17:00, и я начал искать предобученные модели по распознаванию чисел. После проверки их на данной капче точность меня не удовлетворила — ну что ж, пора собирать картинки и обучать свою нейросетку.

Для начала нужно собрать обучающую выборку.

Открываю вебдрайвер Хрома и скриню 1000 капчей себе в папку.
Читать дальше →

Улучшение Python-кода: 12 советов для начинающих

Время на прочтение12 мин
Охват и читатели45K
В мои обязанности входит наём Python-разработчиков. Если у заинтересовавшего меня специалиста есть GitHub-аккаунт — я туда загляну. Все так делают. Может быть, вы этого и не знаете, но ваш домашний проект, не набравший ни одной GitHub-звезды, может помочь вам в получении работы.

То же самое относится и к тестовым задачам, выдаваемым кандидатам на должность программиста. Как известно, мы, когда впервые видим человека, формируем первое впечатление о нём за 30 секунд. Это влияет на то, как мы будем, в дальнейшем, оценивать этого человека. Мне кажется несправедливым то, что люди, обладающие привлекательной внешностью, добиваются всего легче, чем все остальные. То же самое применимо и к коду. Некто смотрит на чей-то проект и что-то тут же бросается ему в глаза. Ошмётки старого кода в репозитории — это как крошки хлеба, застрявшие в бороде после завтрака. Они могут напрочь испортить первое впечатление. Может, бороды у вас и нет, но, думаю, вам и так всё ясно.



Обычно легко понять то, что некий код написан новичком. В этом материале я дам вам несколько советов о том, как обыграть кадровиков вроде меня и повысить свои шансы на получение приглашения на собеседование. При этом вас не должна мучить мысль о том, что, применяя эти советы, вы кого-то обманываете. Вы не делаете ничего дурного. Применяя те небольшие улучшения кода, о которых пойдёт речь, вы не только повышаете свои шансы на успешное прохождение собеседования, но и растёте как программист. Не могу сказать, что профессиональному росту способствует упор на заучивание алгоритмов или модулей стандартной библиотеки.

В чём разница между новичком и более опытным разработчиком? Новичок не работал с устаревшими кодовыми базами. Поэтому он не видит ценности в том, чтобы вкладывать время в написание кода, который легко поддерживать. Часто новички работают в одиночку. Они, в результате, не особенно заботятся о читабельности кода.
Читать дальше →

Robot Framework vs Pytest

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

Я активный сторонник Robot Framework. Уже писал на Хабре о том, что с его помощью можно решить практически любую задачу по автоматизации тестирования, особенно когда разработка ведется на Python. В той же статье я упоминал, что на смежных проектах в компании используется Pytest. Мне пришлось довольно близко познакомиться с этим инструментом, так что теперь я готов провести его полноценное сравнение с Robot Framework, конечно же, со своей персональной колокольни.

Читать далее

Как разложить фото, видео по папкам, исходя из их дат, используя python

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


Всем знакомы завалы из фото и видео, кои покоятся годами после копирования с устройств.

Особенно это характерно для iphone,ipad, которые при прямом копировании (без itunes) создают
залежи медиаконтента. Как это все разложить по годам-месяцам?

Да, есть синхронизация, да, можно сразу все сортировать. Но…

Кто-то предпочитает ничего не трогать, так как соблюдается единство свалки, кто-то делает робкие попытки разложить все накопленное хотя бы по годам.
Читать дальше →

Новый способ изучения психотропных веществ с помощью ЭЭГ и нейронных сетей

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

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


При планировании и реализации работы мы руководствовались принципами прозрачности и открытости. С этой целью создана страница проекта с детальным описанием исследования и регулярной отчетностью: https://cmi.to/r2/



Nota bene: несмотря на устрашающий вид, крыса никоим образом не ощущает присутствие коннектора на черепе, не пытается от него избавиться и никак не ограничена в своей жизнедеятельности. Исследования проводили в строгом соответствии с этическими нормами, установленными Европейской конвенцией по защите позвоночных животных.

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

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