Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Встроенные кнопки в Telegram Bot API — pyTelegramBotAPI

Время на прочтение3 мин
Количество просмотров360K
Добрый день уважаемые читатели, давайте рассмотрим, какие основные типы встроенных кнопок предлагают чат-боты telegram и в чем их особенности. Статья будет полезна всем, кто хочет разобраться в возможностях взаимодействия с пользователями telegram в версии bot API 2.0.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии7

NumPy в Python. Часть 1

Время на прочтение5 мин
Количество просмотров399K

Предисловие переводчика


Доброго времени суток, Хабр. Запускаю цикл статей, которые являются переводом небольшого мана по numpy, ссылочка. Приятного чтения.



Введение


NumPy это open-source модуль для python, который предоставляет общие математические и числовые операции в виде пре-скомпилированных, быстрых функций. Они объединяются в высокоуровневые пакеты. Они обеспечивают функционал, который можно сравнить с функционалом MatLab. NumPy (Numeric Python) предоставляет базовые методы для манипуляции с большими массивами и матрицами. SciPy (Scientific Python) расширяет функционал numpy огромной коллекцией полезных алгоритмов, таких как минимизация, преобразование Фурье, регрессия, и другие прикладные математические техники.
Читать дальше →
Всего голосов 36: ↑36 и ↓0+36
Комментарии26

50 оттенков matplotlib — The Master Plots (с полным кодом на Python)

Время на прочтение39 мин
Количество просмотров375K
Те, кто работает с данными, отлично знают, что не в нейросетке счастье — а в том, как правильно обработать данные. Но чтобы их обработать, необходимо сначала проанализировать корреляции, выбрать нужные данные, выкинуть ненужные и так далее. Для подобных целей часто используется визуализация с помощью библиотеки matplotlib.



Встретимся «внутри»!
Читать дальше →
Всего голосов 67: ↑67 и ↓0+67
Комментарии15

Как работает yield

Время на прочтение6 мин
Количество просмотров676K
На StackOverflow часто задают вопросы, подробно освещённые в документации. Ценность их в том, что на некоторые из них кто-нибудь даёт ответ, обладающий гораздо большей степенью ясности и наглядности, чем может себе позволить документация. Этот — один из них.

Вот исходный вопрос:
Как используется ключевое слово yield в Python? Что оно делает?

Например, я пытаюсь понять этот код (**):
def _get_child_candidates(self, distance, min_dist, max_dist):
    if self._leftchild and distance - max_dist < self._median:
        yield self._leftchild
    if self._rightchild and distance + max_dist >= self._median:
        yield self._rightchild

Вызывается он так:
result, candidates = list(), [self]
while candidates:
    node = candidates.pop()
    distance = node._get_dist(obj)
    if distance <= max_dist and distance >= min_dist:
        result.extend(node._values)
        candidates.extend(node._get_child_candidates(distance, min_dist, max_dist))
        return result


Что происходит при вызове метода _get_child_candidates? Возвращается список, какой-то элемент? Вызывается ли он снова? Когда последующие вызовы прекращаются?

** Код принадлежит Jochen Schulz (jrschulz), который написал отличную Python-библиотеку для метрических пространств. Вот ссылка на исходники: http://well-adjusted.de/~jrschulz/mspace/

Подробный и обстоятельный ответ
Всего голосов 141: ↑136 и ↓5+131
Комментарии41

Нейронные сети для начинающих. Часть 1

Время на прочтение7 мин
Количество просмотров1.5M
image

Привет всем читателям Habrahabr, в этой статье я хочу поделиться с Вами моим опытом в изучении нейронных сетей и, как следствие, их реализации, с помощью языка программирования Java, на платформе Android. Мое знакомство с нейронными сетями произошло, когда вышло приложение Prisma. Оно обрабатывает любую фотографию, с помощью нейронных сетей, и воспроизводит ее с нуля, используя выбранный стиль. Заинтересовавшись этим, я бросился искать статьи и «туториалы», в первую очередь, на Хабре. И к моему великому удивлению, я не нашел ни одну статью, которая четко и поэтапно расписывала алгоритм работы нейронных сетей. Информация была разрознена и в ней отсутствовали ключевые моменты. Также, большинство авторов бросается показывать код на том или ином языке программирования, не прибегая к детальным объяснениям.

Поэтому сейчас, когда я достаточно хорошо освоил нейронные сети и нашел огромное количество информации с разных иностранных порталов, я хотел бы поделиться этим с людьми в серии публикаций, где я соберу всю информацию, которая потребуется вам, если вы только начинаете знакомство с нейронными сетями. В этой статье, я не буду делать сильный акцент на Java и буду объяснять все на примерах, чтобы вы сами смогли перенести это на любой, нужный вам язык программирования. В последующих статьях, я расскажу о своем приложении, написанном под андроид, которое предсказывает движение акций или валюты. Иными словами, всех желающих окунуться в мир нейронных сетей и жаждущих простого и доступного изложения информации или просто тех, кто что-то не понял и хочет подтянуть, добро пожаловать под кат.
Читать дальше →
Всего голосов 70: ↑60 и ↓10+50
Комментарии64

И снова Linux: дистрибутив для Apple M1 работает, хотя и в тестовом режиме

Время на прочтение4 мин
Количество просмотров21K

Источник: The Register
Несколько дней назад автор проекта по адаптации Linux под Mac на чипах M1 объявил о выходе альфа-версии дистрибутива. Он получил название Asahi Linux и совместим с чипами M1, M1 Pro и M1 Max. Как и сообщалось на Хабре, это лишь тестовая сборка, которая предназначена для тестирования системы разработчиками. Для «бытового» употребления дистрибутив пока не пригоден. Ну а о том, что собой представляет дистрибутив, что там «завелось», а что нет — можно узнать под катом.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+37
Комментарии10

Создание игр на Python 3 и Pygame: Часть 1

Время на прочтение8 мин
Количество просмотров357K
Многие разработчики приходят в разработку ПО, потому что хотят создавать игры. Не все могут стать профессиональными разработчиками игр, но любой может создавать собственные игры из интереса (а может быть, и с выгодой). В этом туториале, состоящем из пяти частей, я расскажу вам, как создавать двухмерные однопользовательские игры с помощью Python 3 и замечательного фреймворка PyGame.

(Остальные части туториала: вторая, третья, четвёртая, пятая.)

Мы создадим версию классической игры Breakout. Освоив этот туториал, вы будете чётко понимать, что необходимо для создания игры, познакомитесь с возможностями Pygame и напишете собственный пример игры.

Мы реализуем следующие функции и возможности:

  • простые стандартные GameObject и TextObject
  • простой стандартный Game object
  • простая стандартная кнопка
  • файл конфигурации
  • обработка событий клавиатуры и мыши
  • кирпичи, ракетка и мяч
  • управление движением ракетки
  • обработка коллизий мяча с объектами игры
  • фоновое изображение
  • звуковые эффекты
  • расширяемая система спецэффектов

Не стоит ожидать, что игра будет очень красива графически. Я программист, а не художник, меня больше интересует эстетика кода. Созданный мной дизайн может неприятно удивить. С другой стороны, у вас будут почти неограниченные возможности по улучшению графики этой версии Breakout. Если вы отважитесь повторять за мной, посмотрите на скриншот:


Готовый исходный код выложен здесь.
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии4

Принципы проектирования SOLID с примерами на Python

Время на прочтение9 мин
Количество просмотров58K

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

Читать далее
Всего голосов 20: ↑19 и ↓1+18
Комментарии13

Pyxel  для любителей ретро игр

Время на прочтение12 мин
Количество просмотров18K

Pyxel -- это игровой движок для Python в стиле ретро.

Благодаря своей простоте, вдохновленной старыми игровыми консолями (например, палитра состоит всего из 16 цветов, и только 4 звука могут быть проиграны одновременно), вы можете легко создавать игры в стиле пиксель-арт.

Читать далее
Всего голосов 34: ↑34 и ↓0+34
Комментарии2

Руководство по магическим методам в Питоне

Время на прочтение28 мин
Количество просмотров584K
Это перевод 1.17 версии руководства от Rafe Kettler.


Содержание


  1. Вступление
  2. Конструирование и инициализация
  3. Переопределение операторов на произвольных классах
  4. Представление своих классов
  5. Контроль доступа к атрибутам
  6. Создание произвольных последовательностей
  7. Отражение
  8. Вызываемые объекты
  9. Менеджеры контекста
  10. Абстрактные базовые классы
  11. Построение дескрипторов
  12. Копирование
  13. Использование модуля pickle на своих объектах
  14. Заключение
  15. Приложение 1: Как вызывать магические методы
  16. Приложение 2: Изменения в Питоне 3


Вступление


Что такое магические методы? Они всё в объектно-ориентированном Питоне. Это специальные методы, с помощью которых вы можете добавить в ваши классы «магию». Они всегда обрамлены двумя нижними подчеркиваниями (например, __init__ или __lt__). Ещё, они не так хорошо документированны, как хотелось бы. Все магические методы описаны в документации, но весьма беспорядочно и почти безо всякой организации. Поэтому, чтобы исправить то, что я воспринимаю как недостаток документации Питона, я собираюсь предоставить больше информации о магических методах, написанной на понятном языке и обильно снабжённой примерами. Надеюсь, это руководство вам понравится. Используйте его как обучающий материал, памятку или полное описание. Я просто постарался как можно понятнее описать магические методы.
Читать дальше
Всего голосов 143: ↑139 и ↓4+135
Комментарии59

Наглядно о том, как работает NumPy

Время на прочтение8 мин
Количество просмотров33K

Есть тексты, похожие на вино или динамит: с годами они не стареют, а напротив приобретают вес и значимость. Сегодня, к старту флагманского курса о Data Science, мы решили поделиться переводом визуального учебного руководства о NumPy 2019 года, прочитав которое даже не слишком близкий к математике человек поймёт, как работает эта библиотека Python. Если вы не хотите долго объяснять NumPy, но делать это всё равно приходится, положите статью в закладки и она сэкономит ваше время.

Читать далее
Всего голосов 19: ↑18 и ↓1+18
Комментарии8

9 библиотек Python для разработки игр

Время на прочтение4 мин
Количество просмотров69K
image


Разработка игр на Python — это не только PyGame, Tower Defense и платформеры, а это и DOOM, и MMORPG, и симуляторы свиданий/отношений, и визуальные новеллы, и конкурсы DARPA, и моделирование вселенной, и автотрекинг низкоорбитальных спутников.

Под катом список 9 библиотек для разработки игр и полезные гайды к каждой библиотеке.

image
Читать дальше →
Всего голосов 20: ↑14 и ↓6+9
Комментарии7

«Хакер» на «Хабре»! Как дела у легендарного хакерского журнала

Время на прочтение7 мин
Количество просмотров58K

Привет хабровчанам! Я — главный редактор Xakep.ru Андрей Письменный (и это моя настоящая фамилия, если кто вдруг сомневался). После многолетнего перерыва «Хакер» возвращается с постами для «Хабра», но в этот раз вместо выборочной публикации наших статей мы будем писать посты специально для сообщества.

Одна из тем, которые я хотел бы освещать здесь — это история «Хакера». Но сначала — небольшой апдейт. В нем я постараюсь ответить на все вопросы, которые нам задают люди, давно (или вообще никогда) не заходившие на Xakep.ru. Кто мы, как мы работаем и почему еще не вымерли :-)

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

Читать далее
Всего голосов 241: ↑238 и ↓3+312
Комментарии200

ИИ и машинное обучение в медицине

Время на прочтение5 мин
Количество просмотров12K


Одним из важнейших факторов, влияющих на развитие человеческого общества в ближайшие годы, станет искусственный интеллект (ИИ). В это понятие мы вкладываем все направления развития сферы, включая  машинное обучение (Machine Learning, ML),  генеративно-состязательные сети (Generative Adversarial Networks, GAN), градиентный бустинг (Gradient-boosted-tree models, GBM), глубокое обучение с подкреплением (Deep Reinforcement Learning, DRL) и т.д.

Бизнес, технологический сектор, а также здравоохранение — это те области, где ИИ особенно востребован. Давайте посмотрим, как инструменты AI/ML способны повлиять на качество оказания медицинских услуг.


Прим.: Cloud4Y подготовил статью из трёх частей, посвящённых связке ИИ и медицины. Первые две рассказывают о способах использования технологии, а третья посвящена проблемам, которые возникают при реализации этой идеи.
Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Как ИИ учится рисовать аниме

Время на прочтение4 мин
Количество просмотров25K

Аниме — мультипликация, которая интересна не только подросткам. Даже среди суровых бородатых айтишников в свитерах есть ценители этого направления. Создатели Waifu Labs – сайта для генерации аниме-портретов – поделились своей внутренней кухней и рассказали, как ИИ создаёт рисунки.

Читать далее
Всего голосов 29: ↑28 и ↓1+35
Комментарии15

30 команд Git, необходимых для освоения интерфейса командной строки Git

Время на прочтение9 мин
Количество просмотров404K

Git — самая популярная в мире распределённая система контроля версий. Линус Торвальдс, разработчик ядра ОС Linux, создал этот инструмент ещё в 2005 году, а сегодня Git активно поддерживается как проект с открытым исходным кодом. Огромное количество открытых и коммерческих проектов используют Git для контроля версий.

В данной статье перечисляются самые основные команды, которые следует знать разработчику, чтобы освоить управление репозиториями GitHub на высоком уровне. Ознакомиться с ними будет полезно как новичкам, так и опытным разработчикам.
Читать дальше →
Всего голосов 64: ↑49 и ↓15+54
Комментарии63

Работа из дома

Время на прочтение3 мин
Количество просмотров8.6K

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

Читать далее
Всего голосов 29: ↑21 и ↓8+15
Комментарии9

Муравей Лэнгтона — загадочный клеточный автомат

Время на прочтение4 мин
Количество просмотров18K

В мире существует около 14 000 видов муравьёв, каждый из которых имеет собственное название. Но, даже если вы зададитесь такой целью, вы не найдёте ни в одном биологическом справочнике муравья Лэнгтона. Дело в том, что этот муравей — математическая абстракция, модель для описания поведения динамической системы.

Невесёлая жизнь у муравья Лэнгтона, но, как мы увидим, он не готов мириться с такой возмутительной ситуацией и всеми силами старается сбежать.

Читать далее
Всего голосов 46: ↑45 и ↓1+58
Комментарии23

Как создавать предметы генеративного искусства с помощью L-систем на языке Python

Время на прочтение103 мин
Количество просмотров7.8K

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

Читать далее
Всего голосов 13: ↑12 и ↓1+15
Комментарии2

PyQt6 — полное руководство для новичков

Время на прочтение30 мин
Количество просмотров324K

К старту курса по разработке на Python делимся детальным руководством по работе с современным PyQt для новичков. Чтобы читать было удобнее, мы объединили несколько статей в одну:

1. Первое приложение

2. Слоты и сигналы

3. Виджеты

За подробностями приглашаем под кат.

Читать далее
Всего голосов 23: ↑22 и ↓1+26
Комментарии14
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность