Содержание

Что можно написать на Python — от калькулятора до майнинга данных

Задаваться вопросом, что пишут на Python, кажется даже не вполне корректным: на нем можно создать практически все. Благодаря многочисленным библиотекам, фреймворкам, собственному компилятору и поддержке крупных корпораций вроде Google сегодня Python стал языком общего назначения. Гибкий, простой и быстрый, он собрал сотни тысяч фанатов по всему миру.

Python отлично показывает себя в следующих областях:

  • системное программирование;
  • веб-программирование — backend;
  • Data Science и анализ данных;
  • графические интерфейсы;
  • веб-сценарии;
  • искусственный интеллект.

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

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

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

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

Это открытие фреймворка Flask. На Python написаны такие сервисы, как Instagram и YouTube, поэтому он отлично подходит для создания собственного микроблога в экспериментальных, а возможно, и коммерческих целях. В мегаруководстве Мигеля Гринберга детально разбирается Flask, а после его изучения вы сможете написать свое первое веб-приложение.

Для работы с анализом данных подойдет, разумеется, не только Twitter — любая открытая площадка в интернете, — но мы приведем этот пример. При помощи модулей вы сможете отсортировать и структурировать нужную информацию. Используя Tweepy — отфильтровать посты юзеров по определенным параметрам. А с помощью GraphQL можно будет привести результат работы в вид графического интерфейса.

Технологии криптошифрования используют не только как финансовый инструмент — найти им применение можно во множестве областей. Если вам интересен блокчейн, попробуйте создать собственный. Для этого вам понадобится работать с библиотекой requests и HTTP-клиентами и вооружиться вот этим руководством.

Мы привели несколько примеров того, что можно сделать на Python в качестве обучающих задач. Если вам интересно более детальное погружение в этот язык, рекомендуем курс «Python-разработчик с нуля». За короткий срок плотного обучения вы овладеете навыками разработчика как минимум младшего уровня.

Курс «Python-разработчик с нуля»

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

  • Живая обратная связь с преподавателями
  • Неограниченный доступ к материалам курса
  • Стажировка в компаниях-партнёрах
  • Дипломный проект от реального заказчика
  • Гарантия трудоустройства в компании-партнёры для выпускников, защитивших дипломные работы

Что можно делать с Python?

У вас получилось: вы закончили курсы, или дочитали книгу, которая дает вам базу для программирования в Python. Вы освоили списки, словари, классы, может даже некоторые объектно-ориентированные концепции.

Есть вопросы по Python?

На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!

Telegram Чат & Канал

Вступите в наш дружный чат по Python и начните общение с единомышленниками! Станьте частью большого сообщества!

Паблик VK

Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!

И что дальше?

Python – это очень универсальный язык программирования, с плеядой пользователей во всех возможных сферах. Если вы освоили основы Python, и хотите построить на нем что-нибудь – важно понять, какой первый шаг следует сделать.

Содержание:

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

Что другие делают в Python?

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

Google, к примеру, использовали Python с самого начала, и сегодня он занимает место ведущих гигантов среди языков, ориентированных на серверную сторону. Гвидо ван Россум, добрый пожизненный диктатор Python (уже нет) даже работал нам на протяжении нескольких лет, наблюдая за тем, как развивается язык.

В Instagram любят Python за его простоту. Сервис известен «самым большим развертыванием веб-фреймворка Django, который полностью написан на Python».

Spotify использует язык из-за его сервисов анализа данных и бэкенда. Согласно команде разработчиков, простота использования Python позволяет достичь молниеносной скорости разработки. Spotify выполняет тонны анализов, чтобы собирать рекомендации своим пользователям, так что им нужно что-нибудь, что может выполнять такую работу быстро. Python – это решение!

Что я могу делать в Python?

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

#1: Автоматизация нудных дел

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

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

#2: Держать руку на курсе Биткоина

Похоже, что сегодня о Bitcoin Python говорят все. С тех пор, как в декабре 2017, когда курс почти поднялся до отметки в 20 000 долларов, криптовалюта стала на слуху у миллионов. Цена продолжает колебаться, но многие считают инвестиции целесообразными.

Если вы хотите обогатиться на виртуальном золоте и хотите знать, когда делать следующий шаг, то вам нужно иметь представление о лучших ценах на bitcoin. Это руководство может научить вас, как использовать навыки работы в Python, чтобы построить собственную систему уведомлений о курсе Bitcoin.

Основа этого проекта – это создание IFTTT (if this, then that) апплетов. Вы узнаете, как использовать библиотеку requests для отправки запросов HTTP и как использовать webhook для подключения вашего приложения к внешним сервисам.

Этот проект – отличная отправная точка для начинающего питониста, который заинтересован в крипте. Сервис, который вы построите с данным руководством может быть расширен под другие валюты, так что если вы также рассматриваете Ethereum – двери открыты!

#3: Создание калькулятора

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

Если вам интересен UX\UI дизайн, то это руководство вам понравится. Вы будете работать с модулем tkinter, стандартным пакетом графического пользовательского интерфейса, который поставляется вместе с Python.

Модуль tkinter – это обертка вокруг Tcl/Tk, комбинация скриптового языка Tcl и расширения фреймворка графического пользовательского интерфейса Tk. Если у вас есть установленный Python, то у вас уже есть готовый к использованию tkinter. Вам нужно сделать простой вызов перед началом:

<span>from</span> <span>tkinter</span> <span>import</span> <span>*</span>

<span>from</span> <span>tkinter</span> <span>import</span> <span>*</span>

После проведения установки, вы можете начать работу с постройкой своего первого GUI калькулятора в Python.
Попрактикуйтесь в использовании модуля tkinter и наблюдайте за тем, как ваше виденье материализуется на экране. После того, как вы окрепнете, вы можете начать работать с другими GUI инструментами Python. Ознакомьтесь к официальной документацией GUI программирования в Python для дополнительной информации.

#4: Майнинг данных Twitter

Благодаря интернету, и (все чаще и чаще) интернету вещей (IoT) – у нас есть доступ к огромному количеству данных, о которых не могли мечтать всего десять лет назад. Аналитика – это огромная часть любой сферы, которая связана с данными. О чем люди разговаривают? Какие шаблоны видны в их поведении?

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

В учебном пособии по анализу Твиттера позволит вам получать данные из Твиттера и анализировать настроения пользователей в среде docker. Вы узнаете, как регистрировать приложение вместе с Твиттером, это понадобиться вам, чтобы получить доступ к потоковым API.

Вы увидите, как использовать Tweepy для фильтрации твитов, которые вы хотите вытягивать, TextBlob для подсчета настроения этих твитов, Elasticsearch для анализа содержимого этих твитов и Kibana для показа результатов. По окончанию данного руководства, вы уже будете готовы к тому, чтобы заняться другими проектами, которые используют Python для обработки текстов и распознавания речи.

#5: Создание микроблога с помощью Flask

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

Он называется «Мега-руководство Flask», и однозначно соответствует названию. Проработав 23 главы, вы получите глубокое представление о веб-фреймворке Flask. К концу проекта, вы сможете создать полностью работающее веб приложение.
Вам не нужно знать что-либо о Flask, чтобы приступить к делу, так что это идеально для тех, у кого чешутся руки, чтобы приступить к веб разработке.

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

#6: Создание блокчейна

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

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

Вы будете работать с HTTP клиентами и библиотекой requests. После установки веб-фреймворка Flask, вы сможете использовать запросы HTTP и взаимодействовать со своим блокчейном в интернете.

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

#7: Разбираемся с лентой Twitter

Интересует постройка веб приложений, но не хватает уверенности, чтобы начать мега-проект? Не беспокойтесь, мы кое-что подготовили для вас. С нами вы сможете научиться создавать простое веб приложение всего за несколько часов.

Боб Белдерброс делится кейсом, где он создал 40th PyBites Code Challenge, в котором участникам нужно было построить простое веб приложение для лучшей навигации по ленте новостей Daily Python Tip в Твиттере. Вы можете пройтись по результатам данного челенджа и ознакомиться с кодом.

Вместо Flask, вы будете использовать микро веб-фреймворк Bottle. Он славится тем, что является слабо зависимым решением для быстрого создания приложений. Так как он был разработан таким образом, чтобы быть легким и простым в использовании, вы сможете получить свое приложение практически мгновенно.
Вы также сможете работать с модулем Tweepy, чтобы загружать данные из API Твиттера. Вы сможете хранить данные в базе SQLAlchemy или Peewee, так что заодно получите небольшую практику в запросах SQL.

#8: Играйте в PyGames

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

Библиотека Pygame заметно упрощает разработку собственных игр. Он включает в себя практически все необходимое, чтобы вы могли приступить к разработке игр.

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

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

#9: Выберите свое собственное приключение

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

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

Если вы хотите, чтобы ваша история вышла на новый уровень, вы можете использовать движок, вроде RenPy, чтобы добавить звуки и изображения в вашу игру, создав визуальную новеллу с полным погружением. (После этого, вы можете выложить игру в Steam и посмотреть, как она расходится! Лучший способ получить отзыв о вашей работе – создать собственный релиз на мировом рынке. )

#10: Скажите “Привет, мир!” машинному обучению

Машинное обучение может быть фундаментальной областью в понимании искусственного интеллекта. Однако, в этой сфере легко запутаться, так как она постоянно развивается и меняется.
К счастью, в вашем распоряжении имеются онлайн ресурсы, которые могут помочь освоиться, перед тем как нырнуть с головой в мир под названием data science. Это руководство создано Джейсоном Браунли, и является хорошим примером введением в использование Python для машинного обучения.

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

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

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

#11: Бросаем вызов!

Если вы не уверены в том, что готовы окунаться в некоторые крупные проекты, упомянутые ранее, при этом мелкие вас не очень интересуют, вы можете думать: а чем еще можно заняться?

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

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

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

Чтобы начать, попробуйте одно из следующих, чтобы оценить свои силы:

  • Python Challenge. Более 20 доступных уровней. Создавайте простые скрипты в Python, чтобы решить уровень. По интернету есть разбросанные подсказки, но старайтесь искать решение самостоятельно!
  • PyBites Code Challenge. Включает в себя 50 задач, и количество растет! Эти задачи направлены на то, чтобы вы научились работать в Python для создания приложений, которые будут решать определенные проблемы.

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

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

Чего (скорее всего) не стоит делать в Python?

Очевидно, что Python – чрезвычайно универсальный язык, с которым вы можете делать массу вещей. Но вы не можете делать буквально всё. Фактически, есть определенные сферы, на которые Python не рассчитан.

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

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

Что если вашей идеи нет в этом списке?

Ничего страшного! Этот список вряд ли можно назвать исчерпывающим: существует огромное количество других инструментов и приложений, которые вы можете построить в Python, которые мы не рассмотрели в данной статье. Не думайте, что ваши идеи должны как-либо ограничиваться данным списком. Это просто база, с которой вы можете начать.

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

Что делать дальше?

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

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

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

Являюсь администратором нескольких порталов по обучению языков программирования Python, Golang и Kotlin. В составе небольшой команды единомышленников, мы занимаемся популяризацией языков программирования на русскоязычную аудиторию. Большая часть статей была адаптирована нами на русский язык и распространяется бесплатно.

E-mail: [email protected]

Образование
Universitatea Tehnică a Moldovei (utm.md)

  • 2014 — 2018 Технический Университет Молдовы, ИТ-Инженер. Тема дипломной работы «Автоматизация покупки и продажи криптовалюты используя технический анализ»
  • 2018 — 2020 Технический Университет Молдовы, Магистр, Магистерская диссертация «Идентификация человека в киберпространстве по фотографии лица»

13 проектов для Python-разработчиков среднего уровня

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

Выбор проектной платформы

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

Веб

Веб-приложения — это приложения, которые работают в интернете, к ним можно получить доступ на любом устройстве без загрузки приложения на само устройство, если есть доступ к интернету. Веб-приложение состоит из бэкенда (серверной части) и фронтенда (пользовательского интерфейса). Для Python-разработчиков основное поле деятельности — бэкенд. Однако визуальная составляющая тоже важна, поэтому вам понадобятся некоторые знания HTML, CSS и, возможно, JavaScript. Чтобы создать простой интерфейс, основы будет достаточно.

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

Десктоп

Существуют специальные библиотеки для создания десктопных приложений.

Одна из них — PySimpleGUI, она хорошо подходит для разработчика среднего уровня. PyQt5  более мощная, но может оказаться слишком сложной в обучении.

Программное обеспечение, которое вы разрабатываете, может работать на любой операционной системе, будь то Windows, Linux или Mac. Всё, что нужно сделать после создания проекта, — это скомпилировать его в исполняемый файл для выбранной операционной системы.

Командная строка

Приложения командной строки — это те приложения, которые работают в окне консоли. В Windows в роли консоли выступает сама командная строка, а в Linux и Mac это терминал.

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

Приложения для командной строки могут быть не такими красивыми или простыми в использовании, как десктопные или веб-приложения, но это не делает их менее мощными. Можно улучшать внешний вид таких приложений, применяя цвета к тексту. Есть библиотеки, которые помогут вам с этим: Colorama и Colored. Фреймворки Docopt, Argarse и Click упростят вам процесс создания приложений.

Идеи веб-приложений

Агрегатор контента

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

Примеры контент-агрегаторов:

Технические детали

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

Хорошо реализовать агрегацию контента в качестве фонового процесса. Библиотеки, вроде Celery или APScheduler могут помочь с этим. В частности, APScheduler отлично подходит для небольших фоновых процессов.

После парсинга содержимого с разных сайтов вам нужно его где-то сохранить. Следовательно, вам надо будет использовать базу данных.

Пользователи это оценят

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

Regex Query Tool

Иногда нужно найти в тексте определённую информацию, которую непросто найти с помощью обычного инструмента поиска в текстовых редакторах. Поэтому можно сделать другой инструмент, основанный на регулярных выражениях — Regex Query Tool.

С помощью регулярных выражений можно задавать более общие условия, например можно искать любые даты, записанные в определённом виде. Когда регулярное выражение сопоставляет шаблоны c текстом, оно подсвечивает совпавшие части, таким образом сообщая о них пользователю. Так, ваше приложение проверит наличие в тексте строк, переданных пользователем. С помощью Regex Query Tool пользователи смогут быстро найти то, что им нужно, намного быстрее, чем в текстовом редакторе.

Примеры Regex Query Tools:

Технические детали

Вам нужно сделать так, чтобы приложение давало положительный или отрицательный ответ, такой как «строка найдена» и «строка не найдена», обозначая положительный ответ зелёным цветом, а отрицательный — красным.

Вам не нужно реализовывать алгоритм с нуля. Вы можете использовать re — стандартную библиотеку Python. Библиотека будет возвращать совпавшие строки или None, когда строка запроса не совпадает ни с чем.

Пользователи это оценят

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

URL Shortener

Когда люди делятся ссылками или размещают URL-адреса в постах в социальных сетях, длинный адрес может оказаться очень неудобным и некрасивым. Облегчить задачу поможет URL Shortener. Он уменьшает количество символов в URL-адресе, облегчая их чтение и запоминание. К примеру, xyz.com/wwryb78&svnhkn%sghq?sfiyh может быть сокращено до xyz.com/piojwr.

Примеры таких приложений:

Технические детали

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

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

Пользователи это оценят

Можно добавить функцию для настройки генерации URL-адреса. Без сомнения, xyz.com/mysiteURL лучше, чем случайно сгенерированный xyz.com/piojwrURL.

Post-It Note

С тем количеством информации, которая проходит через нас ежедневно, неудивительно, что многое забывается. Здесь и помогают стикеры и заметки. Идея веб-проекта Post-It Note — позволить делать себе короткие напоминалки, которые можно будет посмотреть из любого браузера.

С Post-It Note люди могут делать записи в любое время и в любом месте, не опасаясь забыть или потерять что-либо как в случае с обычными стикерами.

Примеры таких приложений:

Технические детали

Основная цель этого проекта — предоставить людям место, где они смогут записывать свои мысли. Это означает, что у каждого пользователя будут свои заметки, поэтому в приложении должны быть учётные записи. Здесь важно, чтобы заметки каждого пользователя оставались приватными.

В Django встроена система аутентификации пользователя, так что в случае с ним всё просто. Вы можете использовать другие фреймворки, такие как Bottle или Flask, но вам придется самостоятельно внедрять систему аутентификации пользователей.

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

Вам нужно будет хранить информацию и заметки каждого пользователя, поэтому база данных станет неотъемлемой частью этого проекта. Если вы хотите использовать базу данных MySQL, то вам понадобится модуль MySQLdb или psycopg2-модуль для базы данных PostgreSQL. Есть и другие модули, которые вы можете использовать, — всё зависит от базы данных, которую вы выбрали.

Пользователи это оценят

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

Приложение Викторина

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

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

Примеры приложений викторины:

Технические детали

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

Кроме того, вам нужно создать базу данных для этого проекта. Она будет хранить вопросы, возможные ответы, правильные ответы и оценки каждого пользователя.

Пользователи это оценят

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

Идеи десктопных приложений

MP3-плеер

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

Примеры MP3-плееров:

Технические детали

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

В Python есть библиотеки — pygame, pymedia и simpleaudio, позволяющие работать с мультимедийными файлами в пару строк кода. Они могут обрабатывать файлы и других типов, а не только файлы MP3.

Пользователи это оценят

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

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

Alarm tool

Будильник, он и есть будильник. Подаёт звуковой сигнал в определённое время.

Примеры таких проектов:

Технические детали

Основная задача данного приложения — активировать звуковые сигналы в определённое время. Таким образом, информация о времени и звуковой сигнал, который должен быть воспроизведён, — основные части Alarm Tool. Приложение должно постоянно проверять установленное время будильника. Когда оно наступает, запускается функция воспроизведения сигнала. Для воспроизведения звука подойдёт библиотека pygame.

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

Пользователи это оценят

В качестве дополнительной функции вы можете разрешить пользователям устанавливать повторяющиеся напоминания. Они смогут устанавливать сигналы будильника, которые будут звучать в определенное время в определённые дни недели. Например, будильник может быть установлен на 14:00 каждый понедельник.

Вы также можете добавить функцию откладывания, чтобы ваши пользователи могли не только отключать его.

Файловый менеджер

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

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

Примеры файловых менеджеров:

Технические детали

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

Вы можете использовать PySimpleGUI для создания пользовательского интерфейса без особой сложности. Библиотеки sys, os и shutil будут весьма полезны для этого проекта, поскольку в них присутствуют функции для выполнения действий с файлами в фоновом режиме, пока пользователь щёлкает мышью. Отображение файлов в виде сетки или спискапопулярнее всего, поэтому можно реализовать в приложении оба варианта. Это даст пользователю возможность выбрать, какой вариант просмотра ему подходит.

Пользователи это оценят

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

Также можно реализовать функцию сортировки. Это позволит пользователям сортировать файлы по времени создания, названию или размеру.

Expense Tracker

У каждого есть ежедневные расходы: люди тратят деньги на продукты, одежду и оплату счетов. Трекер поможет следить за своими расходами. Он будет анализировать расходы, следить за их ростом или снижением.

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

Примеры реализаций таких трекеров:

Технические детали

Нужно провести некоторый статистический анализ, чтобы предоставить пользователям правильную информацию о своих расходах и помочь им тратить меньше. Несмотря на то, что отслеживание расходов является ключевой функцией, хороший интерфейс также не помешает. Опять же, с этим поможет PySimpleGUI. Библиотеки PyData, такие как Pandas и Matplotlib помогут вам с техническими аспектами. Pandas может быть использована для анализа данных, а с помощью Matplotlib удобно строить графики, которые дадут пользователям наглядное представление о расходах.
Приложение будет получать данные от пользователей. Для их хранения можно использовать SQLite и Python-модуль Sqlite3.

Пользователи это оценят

Чтобы пользователи могли извлечь выгоду из этого приложения, им нужно регулярно вводить свои расходы, но об этом легко забыть. Поэтому можно добавить функцию напоминания. Приложение будет отправлять уведомления в определённое время дня или недели, напоминая пользователям о том, что пора заглянуть в Expense Tracker.

Идеи приложений для командной строки

Контактная книга

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

Существуют похожие приложения, но большинство из них — мобильные, десктопные или веб-приложения:

Технические детали

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

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

Для хранения отлично подойдёт база данных SQLite.

Пользователи это оценят

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

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

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

Site Connectivity Checker

Иногда сайты могут быть недоступны по разным причинам, не зависящим от вас. Чтобы узнать, когда он заработает, можно пробовать открыть его раз в какое-то время, а можно использовать инструмент, который будет делать это за вас. Именно это и делает Site Connectivity Checker — посещает URL-адрес и возвращает его статус: активен или нет.

Примеры таких приложений:

Технические детали

Вам нужно выбрать, что вы будете использовать для своих подключений — TCP или ICMP. Модуль Socket понадобится непосредственно для самой проверки. Если вы с ним плохо знакомы, можете прочитать Socket Programming on Python (Guide). Благодаря выбранному фреймворку, будь то Docopt, Click или Argparse, вы добавляете команды, чтобы пользователь мог взаимодействовать с вашим приложением. Он также должен иметь возможность запускать приложение, останавливать его и определять интервалы проверки.

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

Пользователи это оценят

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

Bulk File Rename Tool

Иногда нужно назвать все файлы в каталоге в соответствии с определённым шаблоном. Например, вы можете присвоить всем файлам в каталоге имена с порядковыми номерами, которые увеличиваются в зависимости от количества файлов (File0001.jpg, File0002.jpg и т. д.). Выполнение этого вручную займёт уйму времени. Bulk File Rename Tool экономит пользователям много времени, ведь он избавляет их от необходимости выполнять скучную однотипную работу. С помощью Bulk File Rename Tool пользователи смогут переименовать тысячи файлов за пару секунд.

Примеры подобных инструментов:

Технические детали

Приложение должно найти способ манипулировать целевыми файлами. В этом проекте будут полезны библиотеки os, sys и shutil. Пользователи смогут задавать шаблон, под который должны переименовываться все файлы, с этим поможет модуль regex.

Например, есть шаблон myfiles, и приложение должно переименовать все файлы в myfiles + XYZ, где XYZ — это число. Конечно же, пользователи должны иметь возможность выбрать каталог, в котором находятся файлы для переименования.

Пользователи это оценят

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

Генератор древа каталогов

Каталоги похожи на родословные: каждый каталог имеет определённые отношения с другими каталогами. Никакие каталоги никогда не остаются самостоятельными, кроме пустого корневого каталога.

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

Примеры таких генераторов:

Технические детали

Стандартная библиотека os будет ядром вашего приложения, она и будет демонстрировать связь между каталогами. Используйте библиотеки Docopt или Argparse для создания команд. Для придания вашему приложению более приятного вида можно использовать Colored. Надо решить, насколько глубоко будет заходить генератор. Например, если каталог имеет дочерние каталоги глубиной двенадцать уровней, стоит ли заходить дальше пятого уровня?

Пользователи это оценят

Так как результаты сгенерированного древа каталогов будут в командной строке, вы можете пойти ещё дальше, сделав так, чтобы генератор создавал изображения из древа каталогов, т. е. он превратит текст в изображение. Для этого используется библиотека Pillow.

Советы по работе над проектами

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

Вот примерный план работы над проектом:

  • Найдите источник мотивации.
  • Разбейте проект на подзадачи.
  • Проведите исследование.
  • Выполните по очереди каждую подзадачу.
  • Обратитесь за помощью, если вы застряли.
  • Соедините всё вместе.

Перевод статьи «13 Project Ideas for Intermediate Python Developers»

Проекты на Python для новичков | GeekBrains

Что может сделать начинающий питонист в веб-разработке и искусственном интеллекте

https://d2xzmw6cctk25h.cloudfront.net/post/2277/og_image/bb349ce7b8ceb800d3189a92ee66677d.png

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

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

Необязательно сразу браться за многопользовательское приложение или свой вариант Instagram (который, кстати, тоже написан на Python). Если новичок начинает делать что-то сложное, есть риск того, что позже его код нужно будет переписывать полностью. Конечно, своему создателю в первое время код может казаться гениальным, ведь эффект Даннинга — Крюгера ещё никто не отменял. Стоит учесть это и не взваливать на себя непосильные задачи, лучше брать то, что требует чуть-чуть больше текущего уровня знаний. Каждому проекту своё время.

Самый первый проект может быть совсем простым. Как вариант — начать с книги «Программируем на Python» Майкла Доусона, где Python изучается посредством создания несложных игр. Уровень программ, описанных в книге, разный — от простых игр наподобие “Крестики-нолики” до более сложных, с графикой и анимацией. Можно взять один из таких примеров в качестве отправной точки проекта и сделать свой вариант.

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

Если вы видите, что вы уже достигли более-менее профессионального уровня, и хотите показать свои навыки в полной красе, то можно задаться таким вопросом: что создают на Python профессиональные программисты? Так как Python является языком программирования общего назначения, то он может быть использован для создания любых программ. Но так сложилось, что прежде всего «питон» востребован в веб-разработке и анализе данных (сюда также можно отнести приложения с искусственным интеллектом и машинным обучением).

Проекты Python в веб-разработке

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

В качестве базы данных в таком проекте можно применить MySQL — эта система управления БД в веб-разработке используется чаще всего, потому что её легко администрировать и диалект языка запросов SQL, который в ней используется, достаточно прост. У блога чаще всего один автор, который обычно является и администратором сайта, так что не нужно будет много времени уделять разделению прав пользователей — достаточно сделать админку с небольшой функциональностью.

ButterCMS — пример CMS для блога, основанной на Python

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

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

Несмотря на то что такой проект будет уступать по возможностям профессиональным движкам интернет-магазинов, подобное «изобретение велосипедов» развивает способность видеть проект в целом. После самостоятельного создания такого крупного проекта на Python вполне можно претендовать на вакансию бэкенд-программиста.

Проекты Python с искусственным интеллектом

Если вы хотите использовать Python для создания приложений с искусственным интеллектом (например, с использованием нейронных сетей), то помимо Python может потребоваться некоторая математическая подготовка, а также знание принципов построения моделей машинного обучения.

Интересует применение нейросетей для компьютерного зрения или обработки изображений? Можно начать с приложения, обрабатывающего фотографии в соответствии с выбранным вами стилем. Здесь можно применить генеративно-состязательные нейронные сети (GAN). Пользователь такого приложения может загрузить свою фотографию и выбрать, к примеру, стиль Ван Гога, в соответствии с которым его фотография будет преобразована. Такое приложение может работать довольно медленно, поэтому опционально можно придумать более простой проект на «питоне» — например, определение лица на фотографии и дорисовка элементов. Хотя подобных приложений уже много, создать самому что-либо подобное всё равно будет интересно.

Prisma — приложение для обработки фото с помощью нейросетей — в своё время вызвало огромный ажиотаж и появление множества клонов

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

При создании приложений с искусственным интеллектом ваша задача — создать программу, работающую у вас на компьютере либо в облачном сервисе. Это означает, что вам не нужно делать графический интерфейс приложения, а только её серверную часть. Результаты работы серверной части потом можно передавать посредством API в приложение, написанное для Android или iOS мобильными разработчиками.

Итак, мы рассмотрели, что можно делать на Python, но также важны такие вопросы: как наилучшим образом делать такие проекты и какой инструментарий использовать?

Инструменты для разработки на Python

Создание проекта поможет отточить навыки работы с теми инструментами, которые необходимы профессиональному программисту. Забудьте про Notepad++ и сразу используйте подходящую среду разработки. Для Python это прежде всего PyCharm, причём даже бесплатная версия (PyCharm Community Edition) будет на голову выше любого самого продвинутого блокнота. Особенно это преимущество заметно при использовании ООП, так как простой просмотр кода без возможности поиска и навигации по классам и их методам сильно тормозит работу над проектом.

Вот так выглядит PyCharm, разработанная компанией JetBrains

Помимо этого, PyCharm облегчает работу с системами контроля версий, которые также необходимо использовать. В среде современных программистов стандартом здесь является Git, работать с которым можно, не выходя из PyCharm. Если начинающий программист ленится использовать Git и вместо того, чтобы создать репозиторий проекта, хранит его версии по папкам, то рано или поздно он может запутаться в изменениях, которые вносил в проект, и в один прекрасный момент обнаружит, что его код «сломался».

И последний совет: создав собственные проекты на Python, при устройстве на работу не отправляйте их в архиве по электронной почте. Вряд ли кто-то будет тратить время на разархивирование и просмотр в среде разработки. Более удачный вариант — завести аккаунт на Github и отправлять ссылку на него — это значительно ускорит процесс общения с потенциальным работодателем.

Интересна карьера Python-разработчика? Тогда приглашаем вас на факультет Python-разработки GeekUniversity! Вы сможете освоить все навыки, необходимые специалисту уровня Middle, составите портфолио из четырёх полноценных проектов и потренируетесь в командной разработке.

Идеи проектов на Python, которые можно начать воплощать уже сегодня

Перевод статьи «Python Project Ideas You Can Start Working on Today».

Начиная изучать новый язык, вы некоторое время фокусируетесь на чистой теории. Но со временем появляется настойчивое желание попробовать изученное на практике и создать что-нибудь самостоятельно. С чего же начать? У вас может быть миллион идей интересных проектов, но нужно ведь выбрать достаточно простой, чтобы подходил для начинающих!

В этой статье мы представим вам несколько базовых идей — возможно, они вдохновят вас на создание собственных маленьких проектов на Python.

Почему мы выбрали именно Python?

Этот язык отлично подходит для создания проектов начинающими программистами. Зачастую именно Python изучают в учебных заведениях разного уровня, иногда даже в начальных классах. Причина этого проста: Python отличается невероятной читабельностью и не требует моментального изучения сложного синтаксиса. А благодаря тому, что в комплекте с Python идет среда разработки IDLE, вы можете писать код и сразу же запускать его.

Но плавная кривая обучения не должна ввести вас в заблуждение: Python это далеко не игрушка. Этот язык общего назначения — мощный инструмент, имеющий очень широкий спектр применения, от веб-разработки до машинного обучения. Именно с его помощью Spotify и Netflix создают рекомендации для пользователей, базирующиеся на их предыдущем выборе. В основе Instagram, социальной сети, которую ежедневно посещают полмиллиарда активных пользователей, лежит фреймворк Django, написанный на Python.

Благодаря широкому выбору библиотек с открытым исходным кодом, Python легко кастомизируется. Таким образом, проекты на Python могут создавать программисты с очень разным уровнем навыков.

Идеи проектов на Python для начинающих

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

Основы разработки игр

Один из лучших вариантов проектов «для самых маленьких» это симулятор игры в кости. Все, что он должен делать — выбирать и выводить на экран случайное число в диапазоне от единицы до шестерки. Чтобы это реализовать, вам нужно познакомиться с типом данных integer, модулем random и функцией print(). Если захотите, ваш симулятор может спрашивать игрока, хочет ли он еще раз бросить кости — для этого вам придется познакомиться с циклом while.

Используя модуль random, вы можете также создать игру в угадайку: игра генерирует случайное число, а игрок должен его угадать. Для этого вы должны сделать так, чтобы пользователь мог ввести число и передать его программе в качестве входных данных. Для информирования игрока о том, угадал он или нет, используйте блоки If/Else.

«Виселица»

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

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

Использование Python для Raspberry PI

Еще один отличный вариант для начинающих — использование Raspberry Pi. Этот маленький компьютер часто используется для обучения программированию. Raspberry Pi Foundation уделяет особое внимание тому, чтобы сделать программирование доступным для юношества. Этот микрокомпьютер маленький, довольно мощный (для своих задач) и недорогой: он может стоить от 5 до 50 долларов.

Используя Raspberry Pi, можно создавать сайты, приложения и даже углубиться в робототехнику. Если подсоединить к этой машине монитор, клавиатуру и мышь, он может работать, как обычный компьютер. Но, настроив его, вы можете управлять им удаленно — тут-то и начинается все самое интересное!

На Raspberry Pi Code Club можно найти небольшой учебный план по освоению основ Python. Есть там и несколько маленьких проектов, например, создание игры «Камень, ножницы, бумага» и программ-шифровальщиков. Освоив работу с Raspberry Pi, вы сможете использовать его для создания самых разных вещей, включая робот-будильник и камеры слежения для вашего дома.

Идеи проектов на Python для программистов среднего уровня

Доведя до конца несколько интересных проектов, вы почувствуете себя куда более сильным программистом. Что дальше? Можно браться за более сложные проекты. Как насчет следующих?

Веб-проекты

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

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

Еще одна идея — написание приложения для создания заметок. Такая программа позволяет пользователю что-то записывать, а позже возвращает записи. Сложная часть такого проекта — добавление личных аккаунтов. У каждого пользователя должны быть его личные заметки, доступ к которым должен быть только у него (причем доступ откуда угодно, это же веб-проект). Самый простой способ реализовать нечто подобное — использовать для создания приложения фреймворк Django.

Приложения с графическим пользовательским интерфейсом

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

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

И кстати об аудио. Используя Python и некоторые дополнительные библиотеки (такие как pymedia и simpleaudio), вы можете также написать маленькое приложение — MP3-плеер.

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

Дополнительные советы питонистам

Если вы не чувствуете себя достаточно уверенным, чтобы взяться за собственный проект, хорошим первым шагом к практике может стать участие в каком-нибудь общем проекте. Загляните на платформу Up for Grabs, где разработчики и команды ищут участников для своих проектов с открытым кодом. Даже если вы не найдете там проекта, к которому захотите присоединиться, все равно стоит туда зайти и просто познакомиться с разными идеями. Там есть буквально что угодно, от десктопного органайзера до электронной системы для математических тестов.

Хочешь знать больше о Python?

Подпишись на наш канал о Python в Telegram!

Подписаться ×

10 крутых идей для проектов на Python

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

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

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

А вы знали?

По данным Stack Overflow, Python — самый предпочитаемый язык программирования, что говорит о его востребованности среди разработчиков.

Выбор платформы для проекта

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

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

Веб

Веб-приложение дает возможность любому человеку получить к нему доступ откуда угодно через Интернет. Для его создания придется поработать над фронтендом, визуальной частью и бэкендом, где осуществляется логика приложения. Инструменты и фреймворки, такие как Django, Flask и Web2Py — лишь немногое из того, что можно использовать.

Десктопные приложения с интерфейсом

Десктопные приложения повсеместно распространены и используются значительной частью пользователей. PySimpleGUI представляет простой способ создания десктопных приложений. Фреймворк PyQt5 может предложить улучшенные инструменты создания GUI, но он более сложный.

Терминал

Программы, вызываемые из терминала, работают только в консоли Windows и не имеют графического пользовательского интерфейса вообще. Взаимодействие с пользователем происходит через команды. Хоть это и самый старый способ взаимодействия с программами, не стоит считать, что отсутствие графического интерфейса у программы означает её бесполезность. Сотни ведущих компаний для предпринимательских задач используют программы, работающие из терминала. Для создания программ, которые работают из командной строки, можно использовать docopt, Python Fire, plac, и cliff.

«Python был важной частью Google с самого начала и остается таковым, несмотря на то, что система растет и развивается. Сегодня десятки программистов Google используют Python, и мы продолжаем постоянно искать людей, которые знают этот язык».
— Питер Норвиг, директор по качеству поиска Google, Inc.

Идеи для проектов на Python

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

1. Контент-агрегатор

Интернет — основной источник информации для тех, кто постоянно что-то ищет в онлайне по конкретным темам, так что контент-агрегатор сильно сэкономит им время.

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

Примеры контент-агрегаторов:
· AllTop;
· Hvper.

2. Сокращатели ссылок

URL — главный способ навигации по ресурсам в Интернете, будь то веб-страница или файл. Иногда они бывают очень длинными, или имеют в своем составе странные символы. Сокращатели URL уменьшают количество символов в URL-ссылке, поэтому запомнить ее и работать с ней в дальнейшем становится проще.

Идея, лежащая в основе создания сокращателя URL — использование модулей random и string для генерации нового, более короткого URL из введенного длинного. Когда вы это реализуете, добавьте возможность сохранять вместе длинный и короткий URL в базу данных, чтобы пользователи могли воспользоваться ими в будущем.

Примеры сокращателей ссылок:
· bit.ly;
· TinyURL.

3. Инструмент для переименования файлов

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

Для реализации мгновенного переименования файлов воспользуйтесь библиотеками sys, shutil и os. Для реализации добавления собственного идентификатора используйте библиотеку regex, чтобы названия файлов соответствовали паттернам их именования.

Примеры инструментов для переименования файлов:
· Ren;
· Rename.

4. Генератор дерева каталогов

Генератор дерева каталогов — инструмент для визуализации папок в системе и отношений между ними. Главное, что показывает дерево каталогов — какой каталог корневой, а какие являются подкаталогами. Такой инструмент пригодится, если вы работаете с большим количеством директорий и хотите проанализировать их расположение. Для создания генератора понадобится библиотека os, которая поможет в отображении файлов и директорий, а также фреймворк docopt.

Примеры генераторов дерева каталогов:
· Tree;
· Dirtreex.

5. MP3-плеер.

Если вы любите слушать музыку, то удивитесь, что с помощью Python можно создать и музыкальный плеер. Можно написать mp3-плеер с графическим интерфейсом и базовым набором элементов управления воспроизведением и даже отображать медиаданные аудиозаписей о музыканте, длине композиции, названии альбома и т. д.

Можно также создать опцию навигации по папкам и поиск mp3-файлов. Для облегчения работы с медиа-файлами воспользуйтесь библиотеками simpleaudio, pymedia и pygame.

Примеры MP3-плееров:
· MusicBee;
· Foobar2000.

6. Крестики-нолики

Крестики-нолики — классическая игра, с которой вы наверняка знакомы. Для этой простой и веселой игры требуются два игрока. Цель — создать непрерывную горизонтальную, вертикальную или диагональную линию из трех крестиков ноликов на сетке 3х3. Тот, кто сделает это первым, — выиграл. В проекте такого рода можно использовать библиотеку pygame, в которой найдется необходимая графика и аудио.

Вот несколько руководств для начала:
· https://techvidvan.com/tutorials/python-game-project-tic-tac-toe/;
· Делаем игры с помощью Python и Pygame;
· Разработка игр с Pygame.

Больше интересных игровых проектов на Python:
· змейка;
· виселица;
· угадайка;
· камень, ножницы, бумага;
· симулятор броска кубика на Python.

7. Викторина.

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

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

Примеры викторин:
· Kahoot;
· myQuiz.

8. Калькулятор

Куда же без старой доброй идеи о разработке калькулятора при изучении нового языка программирования? Уверены, вы знаете, что такое калькулятор. Если вы уже пробовали его написать, попробуйте улучшить — добавьте более современный интерфейс. Для этого используйте библиотеку tkinter для добавления элементов интерфейса в проект.

9. Виртуальный помощник.

Почти в каждом смартфоне есть свой умный ассистент, который принимает команды как с помощью голоса, так и с помощью текста и может управлять вашими звонками, записями, заказывать такси и многое другое. Примеры — Google Assistant, Alexa, Cortana и Siri. Если вас заинтересовал этот проект — используйте pyaudio, SpeechRecognition, gTTS, а также Википедию. Главные задачи — записать аудио, конвертировать его в текст, обработать команду и заставить программу действовать согласно этой команде.

10. Конвертер валют

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

Больше идей для приложений на Python:

· cоздание простой веб-странички на Django;
· генератор паролей;
· бот в Твиттере;
· определение пола и возраста;
· классификация рака груди;
· определение сонливости водителя;
· распознавание эмоций в речи;
· приложение для работы с криптовалютой;
· тест на скорость печати;
· нахождение фейковых новостей;
· поисковый робот;
· проверка на плагиат;
· файловый менеджер;
· будильник;
· приложение, уведомляющее об изменении цены в реальном времени;
· проверка связей сайтов между собой;
· инструмент, позволяющий использовать в поисковых запросах регулярные выражения;
· трекер расходов;
· загрузчик видео с YouTube.

Заключение

Завершая наш список полезных и интересных идей и проектов, можно с уверенностью сказать, что Python — полезный язык программирования для разработки приложений любого типа и масштаба. Более того, библиотеки Python имеют огромную ценность для программистов, поскольку сильно упрощают процесс разработки. Потенциал Python безграничен, и единственное, чего может не хватать в нем — подходящей идеи.

Перевод статьи: 10 Cool Python Project Ideas for Python Developers

игры и сайты — Примеры известных проектов

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

Где применяется Python

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

И хотя он не может потеснить Java и PHP с ведущих мест в веб-разработке, в сфере машинного обучения Python – язык номер один.

Создание приложений

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

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

Возможность встроить в Python код на С/C++ сглаживает проблему низкой скорости работы программ.

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

Веб-разработка

Python захватил определенную часть сферы, но не может соперничать с такими гигантами, как PHP, Java и Node.js. Для реализации серверной логики они удобнее и мощнее Python.

На Python часто создаются решения, которые имеют узкую направленность. Например, отправку документа с сайта на принтер трудно реализовать на PHP, а Python легко справляется с этой задачей.

Python проигрывает, потому что он является языком общего назначения, PHP – это инструмент, заточенный только под веб-программирование, а Java уже давно используется в вебе.

Машинное обучение

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

Python стал абсолютным лидером в этой сфере по ряду причин:

  • Язык очень простой, это нравится ученым. Им не нужно тратить много времени на написание кода, вместо этого они могут сосредоточиться на проектировании ИИ.
  • В Python легко встраивается код на C и C++, что позволяет использовать C-код в тех местах, где важна скорость.
  • Python обзавелся достаточным количеством библиотек и фреймворков, созданных для упрощения машинного обучения.
  • Гибкость языка позволяет не ограничиваться какой-то одной парадигмой разработки, программист может писать как объектно-ориентированные программы, так и процедурные.

Интересные проекты на Python

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

Игры

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

Mount and Blade

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

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

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

Battlefield

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

Игра вышла в 2005 году и имела подходящие для компьютеров того времени системные требования. Использование Python позволило ускорить разработку и не повлияло на производительностью

EVE Online

Как и в случае с Battlefield, в EVE Online Python использовался для создания игровой логики и управления серверной частью игры.

Разработчики использовали улучшенную версию интерпретатора, которая называется stackless python. Так как это ММО, сервер может обрабатывать миллионы запросов, и stackless python отлично справляется с этим.

Sims 4

Sims – это самый известный симулятор жизни.

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

Civilization 4

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

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

Программы

BitTorrent

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

Примечание: 6 версия программы была переписана на C++.

Blender

Это программа для работы с 3D графикой, способная соперничать с такими гигантами, как Maya и 3DMax.

Пользователь получает возможность создавать трехмерные модели, анимацию, а также видео и игры.

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

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

GIMP

GIMP является редактором растровой графики и, частично, векторной графики.

Он является единственной достойной заменой Adobe Photoshop в системе Linux и установлен на большинстве дистрибутивов по умолчанию.

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

Anki

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

Calibre

Любимое приложение каждого, кто читает много книг.

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

Искусственный интеллект

Python — лидер в сфере машинного обучения. Он может быть как основным языком проекта, так и использоваться в отдельных модулях.

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

Обилие библиотек позволяет без проблем создавать ИИ, способные ориентироваться в пространстве, принимать решения, выполнять задачи, недоступные человеку.

Одним из новейших искуственных интеллектов, написанных на Python, является AlphaStar – искусственный интеллект для Starcraft 2.

Разработчики использовали PySC2 — инструменты, написанные на Python специально для SC2.

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

AlphaStar – это нейросеть, которая улучшает сама себя. Сначала разработчики «показывали» ей записи игр, а позже выпустили играть с обычными игроками.

AlphaStar показал поразительные результаты, он обыграл одного из лучших игроков мира.

Сайты

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

Google

Это самая популярная поисковая система в мире.

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

YouTube

Это сайт, где пользователи могут загружать и смотреть видеоролики.

Он известен каждому пользователю интернета и ежедневно собирает миллиарды просмотров.

Facebook

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

Instagram

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

Всё, что связано с картинками (поиск, постинг, просмотр) обрабатывается кодом на Python.

Потенциал Python в крупных проектах

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

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

Если не рассматривать машинное обучение, и брать программы, которым жизненно важна скорость выполнения, то вряд ли для Python найдется место. Однако часто практикуется гибрид разных языков, например, Python и C++. Такой подход позволяет достичь и высокой скорости разработки и высокой скорости выполнения программы. На Python пишется большая часть кода, а на C++ лишь те участки, которые сильно влияют на скорость выполнения (например, функция по обработке и передаче большого количества данных в единицу времени).

Что я могу делать с Python? — Real Python

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

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

Что другие делают с Python

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

Google — компания, которая с самого начала использовала Python, и он стал одним из основных серверных языков технологического гиганта. Гвидо ван Россум, благотворительный пожизненный диктатор Python, даже проработал там несколько лет, наблюдая за развитием языка.

Instagram любит Python за его простоту. Служба известна тем, что запускает «крупнейшее в мире развертывание веб-фреймворка Django, полностью написанного на Python.”

Spotify использует этот язык для анализа данных и внутренних служб. По словам их команды, простота использования Python обеспечивает молниеносную скорость разработки. Spotify выполняет массу анализов, чтобы дать своим пользователям рекомендации, поэтому им нужно что-то простое, но при этом хорошо работающее. Python спешит на помощь!

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

Если вы уже уверены, то приступим!

Что можно делать с Python

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

# 1: Автоматизация сверлильных работ

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

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

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

# 2: Будьте в курсе цен на биткойны

Кажется, в наши дни все говорят о биткойнах. С тех пор, как в декабре 2017 года цена превысила 20 000 долларов, о криптовалюте думают миллионы.Его цена продолжает колебаться, но многие сочтут это выгодным вложением.

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

В основе этого проекта лежит создание апплетов IFTTT («если то, то то»). Вы узнаете, как использовать библиотеку запросов и для отправки HTTP-запросов и как использовать веб-перехватчик для подключения вашего приложения к внешним службам.

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

# 3: Создание калькулятора

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

Если вас интересует UX и дизайн пользовательского интерфейса, ознакомьтесь с этим руководством. Вы будете работать с модулем tkinter , стандартным пакетом графического пользовательского интерфейса, который традиционно поставляется вместе с Python.

Модуль tkinter — это оболочка для Tcl / Tk, комбинации языка сценариев Tcl и расширения инфраструктуры графического интерфейса Tk. Если у вас установлен Python, то у вас уже должна быть готова к работе фреймворк tkinter .Вы начнете с простого звонка:

После настройки можно приступать к созданию своего первого калькулятора с графическим интерфейсом пользователя на Python.

Практикуйтесь в использовании модуля tkinter и наблюдайте, как ваше видение материализуется на экране. Затем, когда вы промокнете, вы можете перейти к другим инструментам Python с графическим интерфейсом и начать работать с ними. Ознакомьтесь с официальной документацией по программированию графического интерфейса пользователя в Python для получения дополнительной информации.

# 4: Майнинг данных Twitter

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

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

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

Вы увидите, как использовать Tweepy для фильтрации твитов, которые вы хотите извлечь, TextBlob для расчета настроения этих твитов, Elasticsearch для анализа их содержания и Kibana для визуализации результатов. После того, как вы закончите это руководство, вы должны быть готовы погрузиться в другие проекты, использующие Python для обработки текста и распознавания речи.

# 5: Создайте микроблог с помощью Flask

Кажется, что в наши дни у каждого есть блог, но неплохо было бы создать для себя центральный узел в Интернете.С появлением Twitter и Instagram микроблоги, в частности, стали чрезвычайно популярными. В этом проекте Мигеля Гринберга вы узнаете, как создать свой собственный микроблог.

Он называется «Мега-учебник Flask» и действительно оправдывает свое название. Из 23 глав, которые нужно проработать, вы разовьете глубокое понимание микро веб-фреймворка Flask. В конце этого проекта у вас должно быть полнофункциональное веб-приложение.

Чтобы начать работу, вам не нужно ничего знать о Flask, поэтому он идеально подходит для тех из вас, кому не терпится испачкать руки веб-разработкой.

Учебное пособие было недавно обновлено, и теперь в него включены материалы, которые помогут вам в целом стать лучшим веб-разработчиком. Вы можете бесплатно прочитать его в Интернете, купить копию на Amazon или попросить автора пройти вас шаг за шагом через свой онлайн-курс. Когда вы закончите, вы сможете перейти к Django и создавать еще более масштабные веб-приложения.

# 6: Создайте блокчейн

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

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

Вы будете работать с HTTP-клиентами и библиотекой запросов и . После установки веб-фреймворка Flask вы сможете использовать HTTP-запросы для связи с вашей цепочкой блоков через Интернет.

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

# 7: Разбавить ленту Twitter

Заинтересованы в создании веб-приложений, но не уверены в запуске мегапроекта? Не беспокойтесь — у нас есть кое-что для вас. Следуйте за нами, чтобы узнать, как создать простое веб-приложение всего за несколько часов.

Боб Бельдербос рассказывает о том, как он реализовал 40-й конкурс кода PyBites Code Challenge, на котором участникам было предложено создать простое веб-приложение для лучшей навигации по ленте Daily Python Tip в Twitter.Вы можете пройти через его выполнение задачи и код вместе с ним.

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

Вы также будете использовать модуль Tweepy для загрузки данных из Twitter API. Вы будете хранить данные в базе данных SQLAlchemy, так что вы также получите некоторую практику написания SQL-запросов.Чтобы начать, создайте вилку репо!

# 8: Играть в PyGames

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

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

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

Есть множество игр, которые вы можете создать с помощью библиотеки. Что бы вы ни выбрали изобретать, не стесняйтесь делиться своими вещами с сообществом Pygame!

# 9: Выбери свое приключение

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

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

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

Если вы хотите вывести свою историю на новый уровень, вы можете использовать программный движок, такой как Ren’Py, для добавления звуков и изображений в вашу игру, создавая полноценный визуальный роман. (Затем вы можете разместить его в Steam и посмотреть, как это работает! Лучший способ получить отзывы о своей работе — это опубликовать свое творение в мире.)

# 10: Скажите «Привет, мир!» в Машинное обучение

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

К счастью, в Интернете есть ресурсы, которые помогут вам немного промокнуть перед тем, как погрузиться в мир науки о данных. Это руководство Джейсона Браунли — прекрасное введение в использование Python для машинного обучения.

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

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

Когда вы будете уверены, что готовы погрузиться, ознакомьтесь с нашим набором руководств по науке о данных, где вы узнаете, как анализировать отпечатки пальцев, создавать визуализации и распознавать речь и лица — и все это на Python.

# 11: Получите вызов

Если вы не уверены, что решитесь заняться некоторыми из крупных проектов, перечисленных выше, но и более мелкие вас не интересуют, возможно, вам интересно, что еще есть. Как ты можешь найти что-то, что тебя волнует?

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

Проще говоря: вы столкнулись с проблемой, и вам нужно найти решение, использующее Python.

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

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

Для начала примерьте один из них на размер:

  • The Python Challenge предлагает вам более 20 уровней для проработки.Создавайте небольшие скрипты Python, чтобы найти решение для уровня. В Интернете разбросаны подсказки, но постарайтесь увидеть подсказки и разобраться в этом сами!

  • В

    PyBites Code Challenges 50 задач, количество которых растет! Эти проблемы побуждают вас овладеть Python путем создания приложений, выполняющих задачи.

Если вы предпочитаете самостоятельно кодировать эти задачи, а не работать с пошаговыми инструкциями, то всегда полезно иметь ресурс, к которому вы можете обратиться за помощью. Python Tricks: The Book — прекрасный источник информации, который нужно иметь под рукой, когда вы решаете эти задачи. Он проведет вас через некоторые из менее известных частей Python, которые вам понадобятся для их решения.

Чего, вероятно, не следует делать с Python

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

Как интерпретируемый язык Python имеет проблемы с взаимодействием с низкоуровневыми устройствами, такими как драйверы устройств. Например, у вас возникнут проблемы, если вы захотите написать операционную систему только на Python. Для низкоуровневых приложений лучше придерживаться C или C ++.

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

Что делать, если моей идеи нет в этом списке?

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

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

В конце концов, вам нужно провести исследование и найти проекты, которые вызовут ваш интерес. Если вы не знаете, с чего начать, подпишитесь на нас в Twitter. Мы регулярно делимся крутыми и интересными проектами Python от нашего читательского сообщества. Вы можете найти что-то, что вам не терпится внести свой вклад!

Что делать дальше

Вот и все! Одиннадцать способов начать свой путь от новичка в Python до опытного Pythonista.

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

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

Еще один отличный способ высвободиться — поговорить об этом. Кодирование не обязательно должно быть уединенным занятием. Если вам нужен способ задавать вопросы и быстро получать ответы от знающих профессионалов, рассмотрите возможность присоединения к PythonistaCafe.Это частное сообщество позволяет вам общаться с теми, кто поможет протолкнуть вас через любые стены, с которыми вы столкнетесь на пути к мастерству Python. Нажмите здесь, чтобы узнать больше, или подайте заявку!

5 интересных вещей, которые можно делать с Python

Python — один из самых любимых языков программирования.

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

Введение

Python — очень популярный язык среди разработчиков. Писать сценарии для автоматизации и сборки — это легко и весело.

Вот некоторые из распространенных вариантов использования:

  • Создание ботов
  • Парсинг веб-сайтов
  • Машинное обучение, визуализация и анализ данных
  • Веб-разработка с такими фреймворками, как Django и Flask
  • Разработка игр с Pygame
  • Мобильные приложения с такими фреймворками, как Kivy

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

Приступим!

Для веб-разработки

Python имеет очень хорошую поддержку веб-разработки с такими фреймворками, как Django, Flask и другими. Его можно использовать для создания серверных веб-приложений и интегрировать с любым интерфейсом. Как правило, разработчики используют JavaScript во внешнем интерфейсе и Python для поддержки операций на стороне сервера. Python не используется напрямую в браузерах.

Django — один из самых популярных веб-фреймворков на Python.Эти фреймворки предоставляют пакет, в котором у вас есть определенная структура, с легкостью поддерживающая взаимодействие с базой данных; все это настраивается с помощью минимальной команды настройки. Если вы хотите начать с чего-то минимального — я порекомендую Flask!

Помимо этого, Python имеет большое количество библиотек для веб-разработки. Некоторые популярные —

Некоторые ресурсы для начала веб-разработки на Python —

Пример — Доступ к файловой системе компьютера с мобильного телефона

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

  # версия Python> = 3.X
python3 -m http.server

# Если версия Python> = 2.X и <3.X
python -m SimpleHTTPServer
# порт по умолчанию: 8000  

Запускает файловый сервер, к которому можно получить доступ в той же сети. Чтобы получить доступ к файлам на мобильном устройстве, просто подключитесь к той же сети (Wi-Fi или используйте точку доступа телефона на ноутбуке). Теперь в вашем телефоне открыт браузер -

: порт

Проверьте свой IP, запустив - ifconfig .Проверьте свой локальный IP-адрес (должен начинаться с 192.168….)

Предположим, ваш IP-адрес - 192.168.43.155 , и вы используете порт по умолчанию. Затем следует открыть -

192.168.43.155:8000 на мобильном телефоне. Вы увидите текущий каталог 🙂

Автоматизация и сценарии

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

Не беспокойтесь, python позаботился о вас. Есть множество вещей, которые можно автоматизировать, используя всего 4-5 строк кода.От настройки заданий cron и напоминаний до загрузки ваших любимых видеороликов с YouTube, вы можете сделать все это с помощью пары строк на Python.

Несколько замечательных скриптов и пакетов, которые вы можете начать использовать -

Пример - преобразование CSV в JSON

Вы можете преобразовать файл CSV в JSON с помощью всего одной команды на Python!

Попробовать -

  python -c "import csv, json; print json.dumps (list (csv.reader (open ('your_csv_file.csv')))"  

Замените на свое имя файла.csv, и вы получите вывод в формате JSON!

Легко, правда?

Строительные игры

Python поддерживает развивающиеся игры. Его библиотека Pygame очень полезна. Он поддерживает создание с его помощью художественных, музыкальных, звуковых, видео и мультимедийных проектов. Вы даже можете создавать кроссплатформенные игры с помощью Kivy, который работает на Windows, Mac, Linux, Android и iOS.

Ресурсы для изучения
Пример - Палач в терминале

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

  # hangman.py
# импорт модуля времени
время импорта
случайный импорт

оборотов = 10

print "Здравствуйте, поиграем в палача! У вас будет" + str (поворотов) + "ходов!"

Распечатать ""

# задерживать
time.sleep (0,5)

# набор слов, по которым нужно угадать
wordList = ["geekflare", "круто", "питон", "магия"]
word = random.choice (список слов)

догадки = ''

# цикл, пока не останется ни одного витка
пока повороты> 0:
    неправильно = 0

    для символа в слове:
        если char в догадках:
            печать char,
        еще:
            Распечатать "_",
            неправильно + = 1

    печать ("\ п")

    если неверно == 0:
        print "Ты выиграл :)"

        перерыв

    Распечатать

    угадать = ''
    если len (предположить) <1:
        guess = raw_input ("Угадай символ или введите правильное слово:") [0]

    догадки + = догадки

    если угадаю не словом:
        обороты - = 1
 
        напечатать "Неправильно"
 
        print "У вас есть", + повороты, 'повороты налево!'
 
        если поворачивает == 0:
    
            print "Вы проиграли :("  

Результат будет выглядеть примерно так -

Веб-парсинг

Вы видите много данных каждый день на нескольких сайтах.Подумайте, как было бы здорово, если бы вы могли легко получить доступ к этим данным; вот что такое парсинг веб-страниц, а python делает его еще проще благодаря своей замечательной поддержке и библиотекам. Данные в Интернете неструктурированы, и python предоставляет простой способ анализировать и использовать эти данные и даже выполнять дальнейший анализ и операции.

Вот некоторые популярные библиотеки парсинга:

Позвольте мне показать вам пример того, как вы можете очистить валютные ценности с веб-сайта - x-rates.com

Пример. Получите значение валюты по сравнению с
долларов США.

Давайте воспользуемся парсингом в Python для получения значений валюты -

  запросов на импорт
из bs4 импорт BeautifulSoup
  
URL = "https: // www.x-rates.com/table/?from=USD&amount=1 "
r = requests.get (URL)

soup = BeautifulSoup (r.content, 'html.parser')
ratelist = soup.findAll ("таблица", {"класс": "ratesTable"}) [0] .findAll ("tbody")

для tableVal в ratelist:
trList = tableVal.findAll ('tr')
для trVal в trList [: 6]:
печать (trVal.text)  

Возвращает сумму, равную 1 доллару США в других валютах.

Наука о данных и машинное обучение

DS и ML - самые модные темы в наши дни.Эти технологии - будущее информатики.

Python хорошо подходит для обработки данных, анализа и реализации сложных алгоритмов. Анализ и визуализация данных обычно представляют собой простые функции или несколько строк кода с библиотеками Python, такими как NumPy, scipy, scikit-learn и т. Д.

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

Существует множество инструментов глубокого обучения, поддерживающих python.Некоторые популярные библиотеки и фреймворки -

Одна из других причин использования python заключается в том, что даже сложные модели машинного обучения могут быть реализованы с помощью 20-40 строк кода. Ознакомьтесь с этим руководством, чтобы узнать, как легко можно сделать визуализацию в Python.

Заключение

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

Продолжайте изучать. Продолжай учиться!

Что вы можете сделать с Python: 6 интересных вещей

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

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

Кроме того, программы установки, такие как Anaconda, могут делать некоторые удивительные вещи с различными операционными системами (ОС). У Python есть дополнительное преимущество, заключающееся в том, что он является чистым и простым синтаксисом с обширной библиотекой, запускаемой сообществом (NumPy, Pandas, SciPy и т. Д.).

Ознакомьтесь со статьей по теме:

Это означает, что как новички, так и опытные ветераны будут иметь доступ к миллионам строк кода, которые могут быть легко позаимствованы у лучших программистов (в мире) и использоваться кем угодно.Итак, какие интересные вещи можно делать с помощью Python?

1. Код Python для веб-разработки

Поскольку Python является объектно-ориентированным (объектно-ориентированным) языком, любому начинающему будет легко подыгрывать концепциям объектно-ориентированного программирования. Более опытные программисты смогут использовать его для алгоритмов и анализа машинного обучения (ML), а также для исследования и анализа больших данных.

Когда дело доходит до веб-разработки, это отличный вариант, потому что у вас есть масса вариантов, таких как Django и Pyramid, с которыми можно работать.Таким образом, вы можете создать крутой веб-сайт с нуля, не чувствуя себя перегруженным. Вы также можете воспользоваться преимуществами микро-фреймворков, таких как Flask и Bottle.

Расширенное управление контентом также возможно с такими системами, как Django CMS и Plone. Кроме того, стандартная библиотека Python и веб-фреймворки поддерживают несколько интернет-протоколов, таких как HTML, XML и JSON.

2. Научные и числовые вычисления

Аналитика данных в основном относится к научным и числовым вычислениям. Чтобы создать что-то в этой нише, вы можете воспользоваться SciPy для математики, инженерии и естественных наук.Pandas также является библиотекой для анализа и моделирования данных, поэтому с Python в науке о данных много чего происходит.

Если вам нужно отредактировать и перекодировать рабочий сеанс, вы можете использовать IPython, который представляет собой мощную интерактивную оболочку. Он также поддерживает параллельные вычисления и визуализацию.

Ознакомьтесь со статьей по теме:

3. Декораторы функций расширяют функциональность

Декораторы функций

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

4. Машинное обучение (ML)

Классные вещи, такие как идентификация отпечатков пальцев, прогнозирование запасов и обнаружение спама, - все это может быть достигнуто с помощью ML. Кодеры могут настроить это, воспользовавшись модулями Python, такими как Scikit-learn, Tensorflow и Theano, для его поддержки. Кроме того, Python отлично подходит для проектов DIY.

5. Автоматизация веб-приложений браузера

Вы также можете использовать Python для интересных вещей, таких как автоматизация браузера для публикации сообщений в социальных сетях.Это можно сделать, используя Selenium с исходным кодом Python.

6. Python делает возможной робототехнику

Python можно использовать для кодирования Raspberry Pi, чтобы он функционировал как мозг робота. Таким образом вы можете заставить робота реагировать на окружающую среду и выполнять несколько действий.

Эти шесть интересных вещей, которые стали возможными благодаря этому языку программирования, - лишь малая часть того, что вы можете с ним сделать. В недавнем выпуске Python 3.6 есть новые функции в модуле asyncio (который больше не является предварительным с удивительно стабильным API), форматированные строковые литералы и добавлен протокол пути к файловой системе.

Кроме того, библиотеки python, которые представляют собой новый JIT-компилятор, помогают ускорить CPython за счет расширения его стандартного интерпретатора. Это достигается с помощью JIT API из проекта CoreCLR (Microsoft).

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

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

Станет ли Python самым популярным языком программирования высокого уровня, который со временем заменит Java? Возможно нет. Если говорить о разработке на Java, то этот язык, вероятно, будет заменен на Swift.

Как вы думаете? Пожалуйста, поделитесь своими мыслями в разделах комментариев ниже.

Что именно можно делать с Python? Вот 3 основных приложения Python.

by YK Sugi

Если вы думаете об изучении Python - или если вы недавно начали его изучать - вы можете спросить себя:

«Для чего именно я могу использовать Python?»

Что ж, на этот вопрос сложно ответить, потому что для Python существует очень много приложений.

Но со временем я заметил, что есть 3 основных популярных приложения для Python:

  • Веб-разработка
  • Наука о данных - включая машинное обучение, анализ данных и визуализацию данных
  • Сценарии

Давайте поговорим о каждом из их по очереди.

Веб-разработка

Веб-фреймворки, основанные на Python, такие как Django и Flask , в последнее время стали очень популярными для веб-разработки.

Эти веб-фреймворки помогают создавать серверный код (внутренний код) на Python. Это код, который работает на вашем сервере, в отличие от пользовательских устройств и браузеров (интерфейсный код). Если вы не знакомы с разницей между внутренним и внешним кодом, см. Мою сноску ниже.

Но подождите, а зачем мне веб-фреймворк?

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

Какую веб-платформу Python мне следует использовать?

Django и Flask - две из самых популярных веб-фреймворков Python. Я бы порекомендовал использовать один из них, если вы только начинаете.

В чем разница между Django и Flask?

На эту тему есть отличная статья Гарета Дуайера, поэтому позвольте мне процитировать ее здесь:

te>

Основные отличия:

  • Flask обеспечивает простоту, гибкость и детальный контроль .Это бесхитростный (он позволяет вам решать, как вы хотите реализовать вещи).
  • Django предоставляет комплексные возможности: вы получаете панель администратора, интерфейсы баз данных, ORM [объектно-реляционное сопоставление] и структуру каталогов для ваших приложений и проектов «из коробки».

Вам, вероятно, следует выбрать:

  • Flask, если вы сосредоточены на опыте и возможностях обучения, или если вы хотите больше контролировать, какие компоненты использовать (например, какие базы данных вы хотите использовать и как вы хотите взаимодействовать с ними).
  • Django, если вы сосредоточены на конечном продукте. Особенно, если вы работаете над простым приложением, например новостным сайтом, электронным магазином или блогом, и хотите, чтобы всегда был единый очевидный способ делать что-то.

te>

Другими словами, если вы новичок, Flask, вероятно, лучший выбор, потому что в нем меньше компонентов, с которыми приходится иметь дело. Кроме того, Flask - лучший выбор, если вам нужна дополнительная настройка.

С другой стороны, если вы хотите создать что-то прямолинейное, Django, вероятно, позволит вам сделать это быстрее.

Теперь, если вы хотите изучить Django, я рекомендую книгу под названием Django for Beginners. Вы можете найти это здесь.

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

Хорошо, перейдем к следующей теме!

Наука о данных - включая машинное обучение, анализ и визуализацию данных
Прежде всего, давайте рассмотрим, что такое машинное обучение , .

Я думаю, что лучший способ объяснить, что такое машинное обучение, - это привести простой пример.

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

Итак, учитывая это изображение ниже (Рисунок 1), вы хотите, чтобы ваша программа распознала, что это собака.

Рисунок 1

Учитывая этот другой ниже (Рисунок 2), вы хотите, чтобы ваша программа распознала, что это таблица.

Picture 2

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

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

Однако такой подход довольно быстро усложняется. Что, если на фотографии изображена белая собака без каштановой шерсти? Что делать, если на картинке показаны только круглые части стола?

Здесь на помощь приходит машинное обучение.

Машинное обучение обычно реализует алгоритм, который автоматически обнаруживает шаблон в заданных входных данных.

Вы можете передать алгоритму машинного обучения, скажем, 1000 изображений собаки и 1000 изображений стола. Затем он узнает разницу между собакой и столом. Когда вы дадите ему новое изображение собаки или стола, он сможет распознать, что это за изображение.

Мне кажется, это несколько похоже на то, как ребенок учится новому. Как ребенок узнает, что одна вещь похожа на собаку, а другая - на стол? Наверное, из кучи примеров.

Вы, вероятно, не скажете ребенку прямо: «Если что-то пушистое и у него светло-каштановые волосы, то это, вероятно, собака.

Вы, наверное, просто сказали бы: «Это собака. Это тоже собака. А это стол. Это тоже стол ».

Алгоритмы машинного обучения работают примерно так же.

Вы можете применить ту же идею к:

  • системам рекомендаций (например, YouTube, Amazon и Netflix)
  • распознаванию лиц
  • распознаванию голоса

и другим приложениям.

Популярные алгоритмы машинного обучения, о которых вы, возможно, слышали, включают:

  • Нейронные сети
  • Глубокое обучение
  • Поддерживающие векторные машины
  • Случайный лес

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

Python для машинного обучения

Существуют популярные библиотеки и фреймворки машинного обучения для Python.

Два из самых популярных - это scikit-learn и TensorFlow .

  • scikit-learn содержит некоторые из наиболее популярных встроенных алгоритмов машинного обучения. О некоторых из них я упомянул выше.
  • TensorFlow - это скорее низкоуровневая библиотека, которая позволяет создавать собственные алгоритмы машинного обучения.

Если вы только начинаете работу над проектом машинного обучения, я бы порекомендовал вам сначала начать с scikit-learn.Если вы начнете сталкиваться с проблемами эффективности, я бы начал изучать TensorFlow.

Как мне научиться машинному обучению?

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

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

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

Как насчет анализа данных и визуализации данных?

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

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

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

Гистограмма 1 - создана с помощью Python

Из этого графика мы можем сказать, что мужчины купили более 400 единиц этого продукта, а женщины купили около 350 единиц этого продукта в это конкретное воскресенье.

Как аналитик данных, вы могли бы предложить несколько возможных объяснений этой разницы.

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

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

Линейная диаграмма 1 - создана с помощью Python

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

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

С другой стороны, что, если вместо этого вы увидите такой график?

Линейная диаграмма 2 - также сгенерирована с помощью Python

Тогда чем же объясняется разница в воскресенье?

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

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

Работа по анализу данных, которую я выполнял, когда я работал в Google и Microsoft, была очень похожа на этот пример - только более сложной. На самом деле я использовал Python в Google для такого анализа, в то время как я использовал JavaScript в Microsoft.

Я использовал SQL в обеих этих компаниях для извлечения данных из наших баз данных. Затем я бы использовал Python и Matplotlib (в Google) или JavaScript и D3.js (в Microsoft) для визуализации и анализа этих данных.

Анализ / визуализация данных с помощью Python

Одной из самых популярных библиотек для визуализации данных является Matplotlib.

Это хорошая библиотека для начала, потому что:

  • Начать работу с
  • просто. На ней основаны некоторые другие библиотеки, такие как seaborn. Итак, изучение Matplotlib поможет вам позже изучить эти другие библиотеки.

Как мне изучить анализ / визуализацию данных с помощью Python?

Сначала вам следует изучить основы анализа и визуализации данных.Когда я искал хорошие ресурсы для этого в Интернете, я не нашел ни одного. Итак, я закончил видео на YouTube на эту тему:

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

Я бы порекомендовал их обоих.

После изучения основ анализа и визуализации данных также будет полезно изучение основ статистики на таких веб-сайтах, как Coursera и Khan Academy.

Создание сценариев
Что такое сценарии?

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

Итак, позвольте мне привести здесь пример из моего личного опыта.

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

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

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

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

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

Я не специалист по встроенным приложениям, но знаю, что Python работает с Rasberry Pi.Похоже, это популярное приложение среди любителей аппаратного обеспечения.

А как насчет игр?

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

Скорее, я бы порекомендовал начать работу с Unity с C #, который является одним из самых популярных игровых движков. Он позволяет создавать игры для многих платформ, включая Mac, Windows, iOS и Android.

А как насчет настольных приложений?

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

Напротив, похоже, что для этого более популярны такие языки, как Java, C # и C ++.

Недавно некоторые компании начали использовать JavaScript и для создания настольных приложений.

Например, настольное приложение Slack было создано с использованием чего-то под названием Electron. Он позволяет создавать настольные приложения с помощью JavaScript.

Лично, если бы я создавал настольное приложение, я бы выбрал вариант JavaScript. Он позволяет повторно использовать часть кода из веб-версии, если она у вас есть.

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

Python 3 или Python 2?

Я бы порекомендовал Python 3, поскольку он более современный и на данный момент является более популярным вариантом.

Допустим, вы хотите создать что-то вроде Instagram.

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

Вы можете использовать, например:

  • Swift для iOS
  • Java для Android
  • JavaScript для веб-браузеров

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

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

Вот где вступает в действие внутренний код / ​​код на стороне сервера. Вам нужно будет написать некоторый внутренний код, чтобы делать что-то вроде:

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

Итак, в этом разница между внутренним и внешним кодом.

Между прочим, Python - не единственный хороший выбор для написания бэкэнд / серверного кода. Есть много других популярных вариантов, в том числе Node.js, основанный на JavaScript.

Понравилась статья? Тогда вам также может понравиться мой канал на YouTube.

У меня есть канал обучения программированию на YouTube под названием CS Dojo с более чем 440 000 подписчиков, где я создаю больше контента, подобного этой статье.

Например, вам могут понравиться эти видео:

В любом случае, спасибо, что прочитали мою статью!

Вот 5 интересных вещей, которые можно сделать с помощью Python

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

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


Не забудьте ознакомиться с серией практических статей по Agile.

Practical Agile - полезные сведения о разработке программного обеспечения на заказ | Блог Zibtek

Будьте в курсе последних новостей в области разработки программного обеспечения на заказ и изучайте советы и рекомендации по успешной разработке продукта в блоге Zibtek Product Insights.


Интересные вещи, которые можно делать с Python


1: Автоматизация повседневных рутинных задач

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

Задачи, которые можно автоматизировать с помощью Python:

2. Автоматически определяет, что находится на изображении.

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

Почему Python популярен для искусственного интеллекта и машинного обучения

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

Другие функции, которые делают Python идеальным выбором для проектов AI и ML:

  • Он предлагает гибкость
  • Он пользуется огромной поддержкой сообщества (доступно множество ресурсов и документации, которые позволяют создавать потрясающие продукты)
  • Он не зависит от платформы, то есть может работать на любой платформе, включая Windows, Linus, macOS, Unix и многие другие.
Как заставить ваше устройство распознавать изображения с помощью Python?

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

Пример, показывающий, насколько легко обнаружить лицо на фотографиях с помощью библиотеки Python

Фрагмент кода:

  import face_recognition 1.2.3
image = face_recognition.load_image_file ("ваш_файл.jpg")
face_locations = face_recognition.face_locations (image)  

3. Анализ, обработка и визуализация данных

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

Специалисты по обработке данных, использующие библиотеки Python для создания диаграмм визуализации

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

  • Matplotlib: Это потрясающая встроенная библиотека Python с полной поддержкой 2D, но с ограниченной поддержкой трехмерной графики. Он позволяет специалистам по обработке данных создавать гистограммы, диаграммы, графики, спектры мощности, гистограммы и т. Д., в нескольких строках кода.
  • Seaborn: Это библиотека Python, которую можно использовать для создания информативных и визуально привлекательных статистических графических данных. Он предоставляет различные функции, включая цветовые палитры, встроенные темы, инструменты и функции, которые позволяют специалистам по обработке данных извлекать, анализировать, синтезировать и форматировать сложные данные в простые и легко понятные визуализации.
Panda: библиотека Python для обработки и анализа данных

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

Пример, показывающий, насколько легко создать визуализацию данных с помощью Python

Давайте рассмотрим следующий набор данных (созданный в Excel) для создания визуализации в виде линейной диаграммы:

Чтобы преобразовать этот набор данных в график, специалистам по данным необходимо:

  • Импортировать библиотеки Python (Matplotlib и Panda)
  • Затем они должны назначить данные целые числа, переменные, параметры и т. д.вместе с несколькими строками кода Python.
Взгляните на фрагмент кода:
  1. Импорт данных с помощью библиотек Python:
  import matplotlib.pyplot as plt
импортировать панд как pd
df = pd.read_excel ("E: /First.xlsx", "Sheet1")  

Примечание: Во фрагменте кода, E: /First.xlsx, "sheet1" - это путь к имени файла. ' First.xlsx ', который создается на sheet1 файла Excel First.xlsx. Этот файл находится на «диске E» компьютера.

2. Определение параметров для линейного графика:

  var = df.groupby ('BMI'). Sales.sum ()
fig = plt.figure ()
ax1 = fig.add_subplot (1,1,1)
ax1.set_xlabel ('ИМТ')
ax1.set_ylabel ('Сумма продаж')
ax1.set_title («Сумма продаж с учетом ИМТ»)
var.plot (kind = 'line')  

Вот результат:

(источник изображения: analyticsvidhya.com )

4.Создавайте игры с Python

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

Некоторые ключевые моменты Pygame (библиотека Python)

  • Это библиотека с открытым исходным кодом, которая доступна бесплатно для создания игр на Python.
  • Он очень портативен и может работать в любой операционной системе, включая Windows, macOS и т. Д.
  • Это одна из самых мощных библиотек Python, которая содержит почти все, что вам нужно, чтобы начать создавать свои собственные игры.
  • Он содержит широкий спектр модулей, которые можно использовать для добавления интерактивных функций или функций к существующему приложению.

Мы знаем, что у каждого языка есть определенные преимущества и ограничения. Теперь вопрос: достаточно ли Python для разработки всех типов игр?

Подходит ли Python для разработки всех типов игровых приложений?

Существует множество языков программирования, включая Python, Java и т. Д., которые подходят для разработки игровых приложений. Однако Python не подходит для разработки игр, требующих высокой производительности, то есть игр, требующих чрезвычайно быстрых действий. Кроме того, Python можно использовать для создания мощных 2D-игр, но создание 3D-игр на Python не даст ожидаемой высокой производительности и производительности. Для создания 3D-игр на рынке доступны другие языки программирования, такие как: C, C #, C ++, Java и т. Д.

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

5. Создание приложений для робототехники


Согласно отчету Global Market Insights, «Мировой рынок промышленной робототехники к 2024 году должен превысить 80 миллиардов долларов». И огромная часть роста робототехники обеспечивается искусственным интеллектом.Искусственный интеллект - это область робототехники, которая используется для управления роботами. Мы уже обсуждали, почему Python - самый популярный язык программирования в области ИИ. Теперь давайте разберемся, почему Python является наиболее подходящим языком для робототехники:

Почему Python для робототехники?

  • Операционные системы робототехники совместимы с Python.
  • В нем масса вычислительных библиотек, необходимых для робототехники.
  • Это простой язык, который даже непрограммисты (с глубокими знаниями в области робототехники) могут выучить, понять и эффективно использовать при создании приложений для робототехники.
Python и Raspberry Pi

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

Некоторые ключевые моменты о Raspberry Pi

  • Его последняя модель - Raspberry Pi 4 Model B.
  • Он поставляется с официальным руководством для начинающих Raspberry, с помощью которого вы можете узнать, как установить, настроить и использовать Компьютер Raspberry Pi.

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

45 забавных (и уникальных) идей проектов Python для легкого обучения

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

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

Как вы можете увеличить свои шансы на успех? Создавая проекты Python. Таким образом, вы учитесь, фактически делая то, что хотите!

Python-проекты: почему они так важны?


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

Обучение на основе проектов также является философией, лежащей в основе нашего метода обучения в Dataquest , где мы обучаем навыкам обработки и анализа данных с помощью Python. Почему? Потому что снова и снова мы видели, что это работает!

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

Но создавать проекты Python для новичков может быть сложно.С чего начать? Что делает проект хорошим? Что вы делаете, когда застреваете? В этой статье мы поговорим о:

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

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

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

Мотивация: имейте импульс, чтобы продолжать работу

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

Это поможет вам сохранить мотивацию, что важно для предотвращения отказа от сдачи в трудную минуту.

Эффективность: учитесь только тому, что вам нужно.

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

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

Решение проблем: освоите ключевой навык программирования

Решение проблем - ключевой навык при работе с Python (или любым другим языком программирования).Когда вы создаете проект, вам придется придумывать способы решения проблем и их решения с помощью кода.

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

Портфолио: используйте свои проекты, чтобы помочь вам получить работу

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

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

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

Если вам интересно, вы можете узнать больше о создании портфолио в нашем Data Science Career Guide (которое, хотя и предназначено специально для людей, желающих получить доступ к данным, содержит советы, которые не менее ценны, если вашей целью является другое приложение Python! ).

Перед тем, как вы создадите свой первый проект Python

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

Есть несколько ресурсов, которые вы можете использовать на этом этапе:

Learning with Dataquest

  • Codecademy - Один из самых известных сайтов для изучения основ

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

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

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

Что делает проект Python отличным для начинающих?

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

Выберите интересующую вас тему

Первым и наиболее важным фактором является выбор темы, которая вас интересует.Если вам интересно то, что вы создаете, у вас будет больше мотивации. Мотивация важна, потому что это импульс, который помогает вам преодолеть препятствия (подробнее об этом позже!).

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

Подумайте о своих целях

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

Start Small

Последний фактор не слишком амбициозен.Придумывать грандиозный план, например, «Я хочу создать веб-сайт, который позволит людям создавать собственные графики ударов с использованием данных НБА». Идея этого проекта звучит так, как будто она основана на мотивирующей теме (предположим, что вы любите баскетбол) и пересекается с целью (научиться создавать веб-сайты).

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

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

Начните с небольшого проекта и развивайте его с течением времени

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

Создание вашего проекта Python: препятствия и трудности

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

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

Хорошая новость заключается в том, что большую часть времени кто-то был в той же ситуации - с тем же препятствием - что и вы сейчас. Что вам нужно, так это найти ресурсы, оставленные этими людьми. Введите: Google (или ваша любимая альтернативная поисковая система).

Как искать справку

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

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

Поиск «как узнать, у какого игрока NBA больше всего игр в словаре Python», вероятно, не поможет.Вам необходимо создать общую форму для вашего вопроса, которая в данном случае может быть такой: «Найдите, какой ключ словаря Python имеет максимальное значение».

Фактически, , что точный поиск Google , кажется, приводит нас к вопросу о переполнении стека с ответами, которые кажутся полезными!

Найти эти общие формы вопросов поначалу может быть непросто, но это важный навык, который почти каждый программист использует ежедневно, поэтому не бойтесь погрузиться в него и получить некоторую практику.Если вы все еще не можете найти помощь, вам может потребоваться разбить проблему на более мелкие части и искать каждый «кусок» индивидуально.

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

  • Онлайн-руководство, объясняющее, что вы хотите сделать.
  • Stack Overflow (сайт вопросов и ответов по онлайн-программированию) ветка кого-то в похожей ситуации.
  • Документация для Python или библиотеки Python, которую вы используете.

Если вы все еще не можете найти ответы, вы должны опубликовать свой вопрос в таком месте, как Stack Overflow или Dataquest community , где другие могут ответить на ваш вопрос. Вы можете быть удивлены тем, как быстро другие программисты бросятся на помощь новичку!

Примеры проектов Python

Теперь давайте рассмотрим несколько вымышленных примеров людей с интересами и целями и посмотрим, как они могут выбрать проект Python, который соответствует их потребностям.

Даниэль, ориентированная на данные

Даниэль хочет проникнуть в сферу науки о данных, и она определила, что работа начального уровня в области данных будет ролью аналитика.

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

Чтобы начать с малого и наращивать, она собирается найти набор данных и обобщить данные об эпизодах (она, вероятно, воспользуется этим списком мест, чтобы найти бесплатные наборы данных для проектов, чтобы начать работу).

Как только она это сделает, она планирует расширить свой проект, создав несколько визуализаций.

Интересные идеи проекта Python для развития навыков работы с данными:
  • Узнайте, сколько денег вы потратили на Amazon - Изучите свои собственные привычки тратить с помощью этого руководства для начинающих!
  • Анализируйте свои собственные данные Netflix - еще одно руководство для начинающих и среднего уровня, которое поможет вам работать с вашим собственным набором личных данных.
  • Проанализируйте свои личные привычки публикации сообщений в Facebook - Вы тратите слишком много времени на публикации в Facebook? Цифры не лгут, и вы можете найти свои цифры в этом проекте данных Python для начинающих и среднего уровня.
  • Анализ данных опроса - это пошаговое руководство покажет вам, как настроить Python и как отфильтровать данные опроса из любого набора данных, который вы можете найти (или просто использовать образцы данных, ссылки на которые приведены в статье).
  • Управляемые проекты Dataquest - Эти управляемые проекты проведут вас через создание реальных проектов обработки данных возрастающей сложности с предложениями по расширению каждого проекта.
  • Анализируйте все - возьмите бесплатный набор данных, который вас интересует, и начните копаться в нем! Если вы застряли или не знаете, с чего начать, наши курсы Python здесь, чтобы помочь вам, и вы можете попробовать их бесплатно!

Геймер Грег

Грег хочет изучить Python, чтобы создавать игры для развлечения, и любит головоломки.

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

Создание видеоигры с использованием Python

Классные проекты Python для разработчиков игр:
  • Камень, ножницы, бумага - начните свое путешествие по изучению Python с простой, но увлекательной игры, которую все знают.
  • Создание текстовой приключенческой игры - это классический проект Python для начинающих (он также появляется в этой книге), который научит вас многим базовым концепциям настройки игры, которые будут полезны для более продвинутых игр в будущем.
  • Угадайка - это еще один проект для начинающих, который поможет вам изучить и попрактиковаться в основах.
  • Mad Libs - Узнайте, как создавать интерактивные Python Mad Libs!
  • Hangman - Еще одна детская классика, которую вы можете написать на Python, чтобы улучшить свои навыки.
  • Snake - Это немного сложнее, но это классическая (и удивительно увлекательная) игра, в которую можно играть и играть.

Веб-сайт Wanda

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

Когда она построит эту простую версию, она планирует расширять и добавлять новые функции одну за другой.

Простые проекты Python для начинающих веб-разработчиков:
  • Сокращение URL-адресов - Этот бесплатный видеокурс покажет вам, как создать собственный сокращатель URL-адресов, например Bit.ly, с использованием Python и Django.
  • Создайте простую веб-страницу с помощью Django - Это очень подробное руководство с нуля по созданию веб-сайта с помощью Python и Django, в котором даже есть мультяшные иллюстрации!

Разработчик приложений Аарон

Аарон хочет изучить Python, чтобы он мог создавать приложения для мобильных устройств и Интернета.

Проекты Easy Python для начинающих разработчиков:

Дополнительные идеи проектов Python

Все еще не нашли идею проекта, которая вам понравится? Вот еще целая куча, разделенных (примерно) по уровню опыта.

Это не учебные пособия, это идеи, в которых вам придется копаться и исследовать самостоятельно, но это часть удовольствия! И это часть естественного процесса обучения программированию и даже работы программистом. Профи Google отвечает все время - так что не бойтесь нырнуть и испачкать руки!

Идеи проекта Python: начальный уровень

  • Создайте генератор «кода» , который принимает текст в качестве входных данных и заменяет каждую букву другой буквой и выводит «закодированное» сообщение.
  • Постройте «калькулятор обратного отсчета». Напишите какой-нибудь код, который может принимать две даты в качестве входных данных, и вычислить промежуток времени между ними. Это будет отличный способ познакомиться с модулем Python datetime.
  • Напишите метод сортировки. Имея список, можете ли вы написать код, который сортирует его по алфавиту или по цифрам? Да, в Python есть эта встроенная функция, но посмотрите, сможете ли вы сделать это без использования sort ()!
  • Создайте интерактивную викторину .Какой ты Мститель? Создайте личную или рекомендательную викторину, которая может задавать пользователям вопросы, сохранять их ответы, а затем выполнять какие-то вычисления, чтобы дать пользователю персонализированный конечный результат, основанный на их ответах
  • Крестики-нолики с помощью текста. Создайте игру в крестики-нолики, в которую можно играть как в текстовое приключение. Можете ли вы заставить его печатать текстовое представление доски после каждого хода?
  • Сделайте преобразователь температуры / измерения .Напишите сценарий, который может преобразовывать градусы Фаренгейта в Цельсия и обратно или дюймы в сантиметры и обратно и т. Д. Как далеко вы это зайдете?
  • Создайте приложение счетчика . Сделайте свои первые шаги в мир пользовательского интерфейса, создав очень простое приложение, которое считает на единицу каждый раз, когда пользователь нажимает кнопку.
  • Создайте игру в угадывание чисел. Думайте об этом как о текстовом приключении, но с числами. Как далеко вы можете зайти?
  • Постройте будильник .Это пограничный новичок / средний уровень, но стоит попробовать построить будильник для себя. Можете ли вы создать разные будильники? Функция повтора?

Идеи проекта Python: средний уровень

  • Создайте обновленный генератор кода . Начиная с проекта, упомянутого в разделе для начинающих, посмотрите, что вы можете сделать, чтобы сделать его более сложным. Можете ли вы заставить его генерировать разные типы кодов. Можете ли вы создать приложение-декодер, которое считывает закодированные сообщения, если пользователь вводит секретный ключ? Можете ли вы создать более сложный код, который выходит за рамки простой замены букв?
  • Сделайте свою игру «Крестики-нолики» интерактивной .Основываясь на проекте для начинающих, теперь создайте версию Tic-Tac-Toe с реальным пользовательским интерфейсом, в которую вы играете, нажимая на открытые квадраты. Задача: можете ли вы написать простого "искусственного интеллекта" оппонента, против которого будет играть игрок-человек?
  • Очистите некоторые данные для анализа. Это действительно может быть что угодно, с любого веб-сайта, который вам нравится. Интернет полон интересных данных, и если вы немного узнаете о веб-парсинге, вы сможете собрать действительно уникальные наборы данных.
  • Создайте веб-сайт часов. Насколько близко вы можете получить это к реальному времени? Можете ли вы реализовать различные селекторы часовых поясов и добавить функцию «калькулятора обратного отсчета» для расчета продолжительности времени?
  • Автоматизируйте часть своей работы. Это будет по-разному, но у многих заданий есть какой-то процесс повторения, который можно автоматизировать!
  • Автоматизируйте свои личные привычки. Вы хотите не забывать вставать раз в час во время работы? Как насчет написания кода, который генерирует уникальные планы тренировок на основе ваших целей и предпочтений? Существует множество простых приложений, которые вы можете создать для себя, чтобы автоматизировать или улучшить различные аспекты своей жизни.
  • Создайте простой веб-браузер . Создайте простой пользовательский интерфейс, который позволяет вводить URL и загружать веб-страницы. PyWt будет здесь полезен! Можете ли вы добавить кнопку «назад», закладки и другие интересные функции?
  • Напишите приложение для заметок . Создайте приложение, которое поможет людям писать и хранить заметки. Можете ли вы добавить несколько интересных и уникальных функций?
  • Создайте тестер набора текста . Это должно показать пользователю некоторый текст, а затем предложить ему набрать его, отсчитывая время, необходимое для его завершения, и оценивая их точность.
  • Создать систему уведомлений «сайт обновлен» . Вас когда-нибудь раздражала необходимость обновлять веб-сайт, чтобы увидеть, был ли повторно выставлен товар, которого нет в наличии, или чтобы увидеть, были ли опубликованы какие-либо новые новости? Напишите сценарий Pythons, который автоматически проверяет данный URL-адрес на наличие обновлений и мгновенно информирует вас, когда он идентифицирует его. (Однако будьте осторожны, чтобы не перегружать серверы любого сайта, который вы проверяете - сохраняйте разумный временной интервал между каждой проверкой).
  • Воссоздайте свою любимую настольную игру на Python .Здесь есть множество вариантов, от чего-то простого, например, шашек до Risk, или даже более современных и продвинутых игр, таких как Ticket to Ride или Settlers of Catan. Насколько близко вы можете подойти к настоящему?
  • Создайте проводник Википедии. Создайте приложение, которое отображает случайную страницу Википедии. Проблема здесь в деталях: можете ли вы добавить категории, выбранные пользователем? Можете ли вы попробовать другую версию приложения для «кроличьей норы», где каждая статья выбирается случайным образом из статей, ссылки на которые приведены в предыдущей статье? Это может показаться простым, но на самом деле может потребоваться настоящая очистка веб-страниц.

Идеи проекта Python: продвинутый уровень

  • Создайте приложение для прогнозирования фондового рынка. Для этого вам понадобится источник данных о фондовом рынке и некоторые решения машинного обучения, но множество людей уже пробовали это, так что есть много исходного кода, с которым можно работать.
  • Создайте чат-бота . Задача здесь не столько в создании чат-бота, сколько в том, чтобы сделать его хорошим . Можете ли вы, например, реализовать некоторые методы обработки естественного языка, чтобы сделать его более естественным и спонтанным?
  • Запрограммируйте робота. Для этого требуется некоторое оборудование (которое обычно не является бесплатным), но есть много доступных вариантов, а также множество учебных ресурсов. Обязательно посмотрите на Raspberry Pi, если вы еще не думаете в этом направлении.
  • Создайте приложение для распознавания изображений . Хорошая идея - начать с распознавания рукописного ввода - у Dataquest даже есть управляемый проект, который поможет в этом! - но как только вы это сделаете, вы можете взять его намного больше.
  • Сделайте прогноз цены Модель .Выберите отрасль или продукт, которые вас интересуют, и создайте модель машинного обучения, которая прогнозирует изменения цен.
  • Создайте свою собственную модель анализа настроений . Конечно, существует множество готовых шаблонов, но можете ли вы собрать большой массив текстовых данных и создать свои собственные? (Или, что менее сложно: оптимизировать существующую модель анализа тональности для конкретного текста, который вы анализируете.)
  • Создайте интерактивную карту . Это потребует сочетания навыков работы с данными и навыков создания пользовательского интерфейса.Ваша карта может отображать все, что вы хотите - миграции птиц, данные о трафике, отчеты о преступлениях, - но она должна быть в некотором роде интерактивной. Как далеко вы можете зайти?


Следующие шаги

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

  • Подумайте о том, что вас интересует, и выберите проект, который совпадает с вашим интересы, чтобы помочь с мотивацией.
  • Подумайте о своих целях в изучении Python и убедитесь, что ваш проект приближает вас к этим целям.
  • Начните с малого. Создав небольшой проект, вы можете либо расширить его, либо построить еще один.

Теперь вы готовы приступить к работе. Если вы еще не изучили основы Python, я рекомендую погрузиться в курс Dataquest Python Fundamentals .

Если вы уже знаете основы, не сомневайтесь! Пришло время погрузиться в поиски своего идеального проекта Python.

(Если вы зациклились на идеях, , эта статья содержит множество идей, а также некоторые ресурсы для структурированных проектов.)

Что можно делать с Python?

Что можно делать с Python? На самом деле, довольно много. Фактически, если вы хотите использовать Python для своих проектов, вы не одиноки; Netflix, Facebook и Google - это лишь некоторые из крупных компаний, которые ежедневно используют Python.

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

  • Автоматика
  • Вычислительная техника
  • Машинное обучение
  • Веб-разработка
  • Станки
  • Игры
  • Образование

Python для автоматизации

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

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

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

Существует множество доступных ресурсов, которые помогут вам начать свои проекты автоматизации. Например, Fabric - это библиотека, которая может помочь вам автоматизировать командную строку. С другой стороны, Beautiful Soup помогает извлекать данные из разных мест.

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

Python для вычислений

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

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

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

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

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

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

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

Python для машинного обучения

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

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

Если вы хотите начать, вы, вероятно, захотите обратиться к таким модулям, как Scikit-learn, Tensorflow или Theano.

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

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

Theano, с другой стороны, похож на Tensorflow. Он полностью работает на Python и может быть быстрее, чем Tensorflow, но его сложно отлаживать.

Хотя это может показаться сложным, на самом деле машинное обучение имеет много общего даже для новичков. Помните проект, о котором мы говорили ранее, который позволит вам создать систему для отслеживания цен на акции? Машинное обучение могло бы сделать еще один шаг вперед, позволив вам разработать программу, которая будет предсказывать курсы акций .

Знаете кого-нибудь с грязным почерком? На самом деле вы можете использовать Python, чтобы научить машину его читать. Или, если у вас есть веб-сайт, вы можете создать чат-бота, который будет помогать клиентам в любое время дня. Как и автоматизация, машинное обучение может облегчить вам жизнь!

Python для веб-разработки

Тем не менее, Python полезен не только для задач автоматизации, он становится все более популярным как система, полезная для веб-разработки. Фактически, Instagram - один из крупнейших пользователей Python в мире !

Как поясняет Хуэй Дин, который до 2018 года занимал должность технического директора Instagram: «Python удобен в использовании для инженеров - быстро освоиться и получить продукт.”

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

Если вы раньше не занимались веб-разработкой, возможно, стоит начать с микро веб-фреймворка, такого как Flask или Bottle. Эти фреймворки отлично подходят для небольших проектов и, как правило, предлагают большую гибкость, поэтому позже в проект будет легче вносить изменения.

Конечно, меньший размер микровеб-фреймворков означает, что в зависимости от того, что вы делаете, он не сможет поддерживать рост проекта.

Именно здесь на помощь приходят полнофункциональные веб-фреймворки. К ним относятся популярные фреймворки, такие как Django, который использует Instagram, и Pyramid. Веб-фреймворки с полным стеком полезны для больших проектов; они хорошо оснащены большим разнообразием библиотек и структур, которые помогут вам создать свой сайт.

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

Python для машин

Вы заинтересованы в том, чтобы увидеть, как ваш код оживает в реальном мире? Есть множество возможностей для создания захватывающих машин, если вы объедините свой опыт Python с чем-то вроде Raspberry Pi. С несколькими дополнительными деталями и некоторой изобретательностью вы можете сделать что угодно.

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

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

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

Python для игр

Говоря о вашем внутреннем ребенке, Python также можно использовать для создания и реализации видеоигр! Хотя Python не является самым популярным языком программирования для создания игр, для начинающих дизайнеров игр, которые хотели бы использовать свои навыки программирования, все же есть возможности для создания чего-то более захватывающего, чем автоматическое освещение.

Если вы новичок, вы можете получить удовольствие от «взлома» ранее созданных игр, предоставляемых Free Python Games. Это может дать вам представление об игровом дизайне и возможность попрактиковаться в программировании игр, не заставляя вас начинать с нуля. Это также дает вам представление о том, как другие люди подходят к программированию игр.

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

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

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

Python для образования

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

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

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

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