Обновить
512K+

Python *

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

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

Не пытайтесь измерить использование памяти в Pandas

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

Представьте: у вас есть файл с данными, которые вы хотите обработать в Pandas. Хочется быть уверенным, что память не закончится. Как оценить использование памяти с учетом размера файла?


Все эти оценки могут как занижать, так и завышать использование памяти. На самом деле оценивать использование памяти просто не стоит. А если конкретнее, в этой статье я:


  • покажу широкий диапазон использования памяти ещё до обработки, только во время загрузки данных;
  • расскажу о других подходах — измерении и передаче файла по частям.
Читать дальше →

Перевод предобученной модели Keras на матричные вычисления

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

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

Эта статья о том, как я переписал обученную в Keras сеть на работу с матричными операциями в Numpy. Заодно это помогло мне "заглянуть под капот" нейронной сети.

Читать далее

Основы PyCharm

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

Сегодня я расскажу новичкам про полезные и удобные функции PyCharm. Эта статья предназначена для тех, кто только знакомится с PyCharm и написал свои первые программы. Затронем основной функционал пайчарма, который поможет упростить и ускорить вашу работу и узнаем, как запускать сервер и тесты Django в один клик. А ещё, я поделюсь подборкой полезных плагинов и горячих клавиш.

Читать далее

C/C++ из Python (Kivy, ctypes) на iOS

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

Ранее я писал статьи C/C++ из Python (ctypes), C/C++ из Python (Kivy, ctypes) на Android. В них описывается процесс запуска на Linux и Android. Теперь поговорим как тоже самое сделать на iOS. В этой статье речь пойдет о сборке, необходимых инструментах, механизмах отладки и установки.

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

Диалог между JS и Python если бы они были людьми

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

Не так давно мне в голову пришла идея воспользоваться моделью text-davinci-003 от OpenAI чтобы сгенерировать диалог между двумя языками программирования так, если бы они были реальными людьми. Я выбрал Javascript и Python.

Для этого я подготовил следующую инструкцию...

Читать далее

Справится ли ChatGPT с внесением изменения в код?

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

В предыдущей статье я рассказывал как провести рефакторинг кода GildedRose с целью снижения Time2Market.

В результате из кода с цикломатической сложностью 19 получился код с цикломатической сложностью 5, при этом сам код изменился до неузнаваемости.

Мне стало любопытно сможет ли ChatGPT описать что делает этот код и реализовать в нем новое требование.

Что из этого вышло — узнайте в тексте статьи.

Покажите что получилось

Алгоритмы быстрого умножения чисел: от столбика до Шенхаге-Штрассена

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

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

И уж конечно, никогда при написании a * b мы не задумываемся о том, как реализовано умножение чисел a и b в нашем языке. Какие вообще есть алгоритмы умножения? Это какая-то нетривиальная задача?

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

Скорее к формулам!

Как без денег и знаний в AI повторил Copilot'а

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

Создаём своего Copilot'а без знаний в AI и денег.

Читать далее

Про микросервисы на примерах

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

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

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

Приступим?

Бот для телеграмма, использующий Яндекс.Диск (Python)

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

Всем привет!

О том как я делал бота, который файлы с Яндекс.Диска показывает, для лично-производственных целей.

Читать далее

Задача «Индекс Линкольна»

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

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

Читать далее

Как я написал Telegram-бота для учёта подписок

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

Как я написал Telegram-Бот для учёта подписок

Написал Telegram-Бот для учёта подписок и регулярных расходов на Python и Yandex. Cloud

Он умеет предупреждать по 3 основным сценариям:

1. Окончание пробного периода.

2. Ежемесячная подписка.

3. Ежегодная подписка.

В статье расскажу про особенности технологического стэка и дополнительные возможности бота.

Читать далее

Просим бота написать бота

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

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

Началось все с того, что я захотел зарегистрировать себе аккаунт на OpenAI и понять, кто такой этот ваш ChatGPT. Немного танцев с бубном, и желаемая цель была достигнута. Бот понравился, но возникали некоторые неудобства из-за доступа по VPN. Тогда у меня появилась идея создать телеграм-бота, который будет отправлять запросы в API OpenAI и возвращать ответы.

Я потратил следующий час на чтение документации по API OpenAI, но моя лень оказалась более находчивой, и я решил дать ChatGPT задание написать бота самостоятельно.

Что из этого вышло?

Читать далее

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

Как мне удалось найти работу через восемь месяцев после первого Hello, world

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

Привет! Меня зовут Арсен Григорян, я студент курса «Python-разработчик» в Яндекс Практикуме. В апреле 2022 года я решил заняться программированием — прямо как хотел в юности, а в декабре получил своё первое предложение о работе. Звучит как лёгкая история успеха, но на деле этому предшествовали сотни откликов в пустоту и больше тысячи часов учёбы.

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

Читать далее

Книга «40 алгоритмов, которые должен знать каждый программист на Python»

Время на прочтение6 мин
Охват и читатели61K
image Привет, Хаброжители!

Понимание работы алгоритмов и умение применять их для решения прикладных задач – must-have для любого программиста или разработчика. Эта книга поможет вам не только развить навыки использования алгоритмов, но и разобраться в принципах их функционирования, в их логике и математике.

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

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

У меня возникают сложности с продуктивной работой на Python

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели12K
Примечание: всё, что говорится в этой статье, можно отнести и к любому другому языку с динамической типизацией (скажем, Ruby). Я делюсь своим опытом и мытарствами конкретно по Python только потому, что сам пользуюсь этим языком.

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

Друг: C# сильно упрощает жизнь за счет типов.
Я: Как-то не ощущал потребности. А какая от них польза?
Друг: А как ты управляешься с функциями, которые могут принимать любой тип аргумента?
Я: На то у меня юнит-тесты плюс высокая степень покрытия кода. Достаточно небольшого изменения, чтобы охватить остальные. К тому же к функциям прилагается документация, там сказано, для чего они нужны и какие аргументы принимают. Плёвое дело.

Как же я ошибался. На тот момент я доводил код до продакшна на Python, но пользователей у нас было немного. Опыта работы с другими языками у меня не имелось вообще.
Читать дальше →

Python: класс Factory, возвращающий собственных наследников

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

Добрый день!

Язык Python для меня не является языком программирования, который я использую в повседневной работе. Для меня более близки ООП языки программирования Java, Object Pascal. Поэтому, не холивара ради, я хочу спросить у сообщества на сколько правильно решение, которое я опишу в данной статье?

Мы все учились понемногу, чему-нибудь...

Об эффекте занижения коэффициента линейной регрессии «шумами» данных, или почему все-таки «регрессия»

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

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

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

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

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

Читать далее

VS Code, python, контейнеры — как обуздать эту триаду и разрабатывать внутри контейнера

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

Как пользоваться VS Code в полную силу


image


Это небольшой туториал о настройке VS Code для работы с python. Здесь вы не увидите каких-то божественных откровений — тут будет просто мой опыт о том, как сделать свою работу/хобби немного комфортнее и почему я пришел именно к такой конфигурации.

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

Как улучшить точность ML-модели используя разведочный анализ

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

Привет, Хабр! Меня зовут Кирилл Тобола, я Data Scientist и сегодня я расскажу об опыте применения EDA (Exploratory Data Analysis) для улучшения точности ML‑модели.

Добро пожаловать в год 2912, где ваши DS навыки понадобятся для решения космической загадки. Мы получили сообщение с корабля на расстоянии 4 световых лет, и ситуация выглядит плохо.

Крейсер Титаник — межгалактический пассажирский лайнер отправился в путь около месяца назад. Почти 13 000 пассажиров находились на борту. Судно отправилось в свой маршрут, перевозя эмигрантов из нашей солнечной системы к трем новым недавно освоенным экзопланетам.

Следуя через Альфа Центавру на пути к первому пункту назначения жаркой 55 Кансри Е, крейсер Титаник столкнулся с пространственно‑временной аномалией, скрывшейся за облаком космической пыли. К сожалению, крейсер постигла та же участь, что и одноименный корабль ровно 1000 лет назад. В то время как корабль не пострадал, почти половина пассажиров переместились в альтернативное пространство.

Чтобы спасти команду и вернуть потерянных пассажиров, вам необходимо спрогнозировать кто из пассажиров переместился в альтернативную реальность используя данные из поврежденного журнала корабля. Задача помочь им спастись и не дать истории повториться вновь… Хотя может и не нужно и появится новый достаточно неплохой фильм.

Узнать, как решить задачу!