Топ-16 Python-приложений в реальном мире
Удовольствие от написания Python-кода заключается в возможности создавать короткие, лаконичные и читаемые классы, которые выражают большой объем логики в небольшом объеме кода, а не в сотнях строк, утомляющих читателя.
За последние несколько лет технологии вокруг нас поменялись почти во всех аспектах. Мы живем в мире, где во главе угла стоит программное обеспечение, а за почти любой службой стоит какая-нибудь строчка кода. Индустрия путешествий, банкинг, образование, исследования, военная сфера — лишь немногие из тех, кто полагается на ПО.
Любой софт написан на каком-то языке программирования. А число последних лишь растет.
Однако одним из самых популярных в мире на сегодня является Python. В этом материале рассмотрим примеры реальных приложений, работающих на этом языке.
Реальные приложения на Python
Python сильно поменялся с момента создания в 1991 году Гвино ван Россумом. Это динамический, интерпретируемый, высокоуровневый язык программирования, с помощью которого можно создать массу разнообразных приложений. У него плавная кривая обучения и понятный синтаксис.
С помощью Python делают веб-приложения, видеоигры, занимаются Data Science и машинным обучения, разрабатывают софт, работающий в реальном мире, а также встроенные приложения и многое другое.
1. Веб-разработка
Наверняка все разработчики знают, что такое веб-разработка. Это квинтэссенция применимости Python. Также этот язык выделяет широкое разнообразие фреймворков и систем управления контентом (CMS), которые упрощают жизнь разработчика. Среди самых популярных решений — Django, Flask, Pyramid и Bottle. Среди CMS выделяются Django CMS, Plone CMS и Wagtail.
Веб-разработка на Python дает такие преимущества, как повышенная безопасность, масштабируемость и удобство в процессе работы. Также язык из коробки поддерживает такие протоколы, как HTML, XML, email-протоколы, FTP. У Python одна из крупнейших коллекций библиотек, упрощающих и улучшающих жизнь разработчика.
Посмотреть список сайтов, которые использую python можно на https://trends.builtwith.com/framework/Python.
2. Разработка игр
По аналогии с веб-разработкой в Python есть масса инструментов и библиотек для разработки игр. Кстати, а вы знали, что на этом языке программирования была написала популярная некогда Battlefield 2?
Для разработки игр используются такие библиотеки, как PyGame, Pycap, Construct, Panda3D, PySoy и PyOpenGL.
Также с помощью Python были разработаны такие проекты, как Sims 4, World of Tanks, Civilization IV и EVE Online. Можно вспомнить еще Mount & Blade, Doki Doki Literature Club, Frets on Fire и Disney’s Toontown Online.
3. Искусственный интеллект и машинное обучение
По данным GitHub Python расположился на втором месте среди языков, используемых для машинного обучения.
Искусственный интеллект и машинное обучение — очень популярные темы сегодня. С помощью них мы сегодня принимаем очень много решений. Python отчасти повлиял на такой рост популярность отрасли.
Стабильность и безопасность языка сделали его идеальным для интенсивных вычислений, без которых AI и ML не обходятся. А широкая коллекция библиотек помогает при разработке моделей и алгоритмов. Вот самые популярные библиотеки:
4. Графический интерфейс для настольных приложений
Иногда можно обойтись и без полноценного интерфейса, но для большинства проектов сегодня важен GUI. И для них в Python тоже есть множество решений.
При этом доступный синтаксис и модульная структура позволяют создавать быстрые и отзывчивые интерфейсы, делая еще и сам процесс разработки приятным. Среди самых популярных библиотек и фреймоворков — PyQt, Tkinter, Python GTK+, wxWidgets и Kivy.
5. Обработка изображений
Благодаря росту популярности машинного обучения, глубокого обучения и нейронных сетей выросла и роль инструментов для (предварительной) обработки изображений. Python в полной мере удовлетворяет этот спрос.
Среди самых популярных инструментов в Python можно выделить OpenCV, Scikit-Image, Python Imaging Library (PIL). Среди известных приложений, использующих Python — GIMP, Corel PaintShop, Blender и Houdini.
6. Обработка текста
Обработка текста — чуть ли не самый распространенный сценарий использования Python. Она руку идет с NLP (обработкой естественного языка), но не будем погружаться в эту тему сейчас. Обработка текста позволяет обрабатывать большие объемы текста, предоставляя гибкость структуры. Можно запросто сортировать строки, извлекать определенный текст, форматировать абзацы и так далее.
7. Бизнес приложения
Бизнес приложения во многом отличаются от обычного потребительского ПО. Во-первых, они предлагают ограниченный набор функций вместо десяток или даже сотен возможностей. Во-вторых, у них есть конкретная целевая группа (чаще всего ею выступает определенная организация).
Python отлично подходит для разработки таких высоконагруженных приложений.
Еще одной важной составляющей любого приложения является безопасность. И хотя почти все программы создаются с прицелом на безопасность, возможности Python в этом плане очень важны для бизнес-решений. Также Python позволяет писать масштабируемый код.
8. Образовательные и тренировочные программы
Python — отличная точка входа для каждого, кто хочет познакомиться с миром современного программирования. Все благодаря максимально простому синтаксису языка, который очень напоминает английский. Также изучается Python быстрее других языков. Именно поэтому этот язык один из основных кандидатов на то, чтобы быть первым языком программирования.
Есть масса обучающих ресурсов для получения начальных знаний по Python, но среди самых популярных можно выделить Coursera, edX, Udemy, Python Institute и Harvard.
9. Аудио и видео приложения
Эффективность Python позволяет использовать его для аудио и видео приложений. Для этого есть масса инструментов и библиотек. Сигнальная обработка, управление аудио, распознавание звуков — все это доступно с помощью таких библиотек, как Pyo, pyAudioANalysis, Dejavu и других.
Для видео же есть Scikit-video, OpenCV и SciPy. С их помощью можно управлять видеороликами и готовить их к использованию в других приложениях. На Python написаны Spotify, Netflix и YouTube.
10. Парсинг
В интернете просто невероятные объемы информации. И с помощью веб-парсеров данные на сайтах можно собирать, сохраняя их в одном месте. После этого их могут использовать исследователи, аналитики или организации для самых разных задач.
На Python есть такие библиотеки, как PythonRequest, BeautifulSoup, MechanicalSoup, Selenium и другие. Парсеры используются для отслеживания цены, аналитики, анализа в социальных медиа, проектах машинного обучения и в любых других проектах, где есть большие объемы данных.
11. Data Science и визуализация данных
Данные играют ключевую роль в современном мире. Они помогают понимать людей, их вкусы, собирать и анализировать интересные наблюдения. Это все — важная часть Data Science. В этой области требуется определить проблему, собрать данные, обработать их, изучить, проанализировать и визуализировать.
В экосистеме Python есть такие решения, как TensorFlow, PyTorch, Pandas, Scikit-Learn, NumPy, SciPy и многие другие.
Визуализация важна, когда данные нужно преподнести команде или держателям акций. Для этого в Python есть Plotly, Matplotlib, Seaborn, Ggplot, Geoplotlib и другие.
12. Научные и математические приложения
Мы уже определили, что в Python есть библиотеки для научных и математических вычислений, включая AI, ML и Data Science. Но даже если не брать эти сферы, язык пригодится, например, для работы с высокоуровневыми математическими функциями.
Стоит отметить такие инструменты, как Pandas, IPython, SciPy, Numeric Python, Matplotlib и другие. С помощью Python созданы такие приложения, как FreeCAD и Abaqus.
13. Разработка программного обеспечения
Python подходит не только для веб-разработки, научной разработки, создания игр или встраиваемых систем. По большому счету, это универсальное решение для софта любого типа. Все это возможно благодаря тому, что Python обеспечивает высокую скорость исполнения, хорошую совместимость, отличную поддержку со стороны сообщества, а также огромное количество библиотек. С помощью Python были созданы Roundup, Buildbot, SCons, Mercurial, Orbiter и Allura.
Часто разработчики используют Python как вспомогательный язык для управления проектами, контроля сборок и тестирования.
14. Операционные системы
Операционные системы — мозг любого компьютера. На Python, например, работают ОС, построенные на базе Linux. Как минимум, отдельные части таких систем.
В качестве примеров можно вспомнить Ubiquity Installer от Ubuntu, Anaconda Installer от Red Hat Enterprise. Также язык использовался для создания Gentoo Linux и системы управления пакетами Portage в Google Chrome OS. Вообще комбинация Python и C дает огромные преимущества при проектировании и разработке операционных систем.
15. CAD-приложения
CAD (computer aided design) приложения преимущественно используются в автомобильной, аэрокосмической и архитектурной сферах. Они помогают инженерам и дизайнерам проектировать продукты с точностью до миллиметров.
В среде Python из таких приложений есть FreeCAD, Fandango, PythonCAD, Blender и Vintech RCAM. Они предоставляют такие функции, как макрозапись, верстаки, симуляция роботов, скетчинг, поддержка мультиформатного импорта/экспорта, модули технического чертежа и многое другое.
16. Встроенные приложения
Одна из самых впечатляющих возможностей Python — работа на встроенном железе. Это такие устройства, которые предназначены для выполнения ограниченного набора действий. Встроенный софт — это тот, который отвечает за работу таких устройств. Среди самых популярных приложений MicroPython, Zerynth, PyMite и EmbeddedPython.
В качестве примера встроенных устройств можно вспомнить цифровые камеры, смартфоны, Raspberry Pi, промышленные роботы и другие, которые могут работать с помощью Python. Не все знают, но Python может использоваться как слой абстракции там, где на системном уровне работают C или C++.
Другие приложение на Python
Вывод
Python — продвинутый и универсальный язык программирования, который быстро приобретает популярность среди разработчиков в разных отраслях. Его можно применить почти в любой сфере благодаря широкому набору библиотек.
Если вы только знакомитесь с программированием в целом, то этот материал должен был убедить вас выбрать в качестве первого языка Python. Благо, выучить его сегодня легко с помощью обилия книг, курсов, GitHub-репозиториев, популярных инструментов и библиотек.
11 проектов, которые должен разработать каждый питонист
Уверены, что хорошо знаете Python? Проверьте, сможете ли вы разработать эти проекты на Python. Если нет − бегом читать наши туториалы.
Веб-проекты на Python
Агрегатор контента
Контент помогает нам принимать решения − весь поток информации, публикуемый в блогах, соцсетях, на экране, является контентом. Единственный способ оставаться в курсе событий, не терять компетенцию − постоянно потреблять контента. Но поиск утомителен.
Для этого создают агрегаторы контента. Их суть в том, чтобы собирать разные, релевантные вам статьи, посты в соцсетях и собирать всё в одном месте.
Примеры реализации
Техническая реализация
Определитесь, с каких сайтов контент-агрегатор будет загружать информацию. Можно использовать библиотеки Requests для отправки HTTP-запросов, BeautifulSoup для анализа материалов и выделения наиболее подходящей информации.
Чтобы агрегация контента происходила в фоновом режиме, стоит обратить внимание на библиотеки Celery или Apscheduler.
А еще подумайте о базе данных, в которой будет храниться собранная информация.
Regex Query Tool
Все мы читаем тексты. И когда у них плохая структура, нам не нравится. Из-за этого мы не всегда можем найти нужную информацию.
С помощью инструмента Regex Query Tool пользователи могут быстро проверить правильность своих строк регулярных выражений в интернете.
Было бы неплохо добавить функцию замены совпадений.
Примеры реализации
Техническая реализация
Реализовывать инструмент запросов с нуля необязательно. Можно обратиться к стандартной библиотеке Re. Она будет возвращать None при отсутствии совпадений или возвращать совпавшие строки.
Не все понимают, как работают регулярные выражения, поэтому стоит создать раздел с объяснением принципов их работы.
URL Shortener
URL-адреса бывают очень длинными, это неудобно. Когда люди делятся ссылками в мессенджерах или даже пытаются запомнить URL, неаккуратные ссылки раздражают.
А еще Google прекратил поддержку своего сервиса goo.gl, так что у вас есть шанс сделать свой продукт популярнее.
Примеры реализации
Техническая реализация
Основная задача, которую будет выполнять приложение, заключается в сокращении URL-адресов с последующей переадресацией на исходный URL-адрес.
Поскольку пользователи будут посещать сокращенные URL-адреса через несколько дней, месяцев или даже лет, вам необходимо сохранить сокращенные URL-адреса в базе данных. При поступлении запроса приложение проверит, существует ли URL-адрес, и перенаправит его на оригинал или страницу 404.
Post-It Note
Мы постоянно о чём-то думаем, а ещё постоянно забываем. Один из способов запомнить − записать, чтобы обдумать позднее.
Вживую люди пишут на стикерах, приклеивают их к своим компьютерам. Но такую задачу вполне мог бы выполнять онлайн-сервис, тем более что в отличие от живых записей информация в веб-приложении доступна в любой момент, а ещё её не потеряешь.
Было бы неплохо добавить напоминания о заметках, если вдруг пользователь забудет о них.
Примеры реализации
Техническая реализация
У каждого пользователя будут свои заметки, поэтому в приложении должна быть функция создания учетной записи. Это гарантирует приватность информации.
Django поставляется с системой аутентификации пользователя, так что это может быть одним из способов реализации идеи. Можно также использовать другие фреймворки, например, Bottle или Flask. Но вы должны самостоятельно внедрить систему аутентификации пользователей.
Юзерам может потребоваться разделить заметки по разным разделам: полезно реализовать классификацию. Например, кому-то могут понадобиться заметки об алгоритмах и структурах данных, поэтому нужно дать возможность быстро найти информацию по теме, а не листать веб-страницу.
Опять же, вам нужно где-то хранить поступающую информацию. Для MySQL можно использовать MySQLdb, а для PostgreSQL − Psycopg2.
Викторина
Викторины и тесты помогают проверить и углубить знания в разных областях. Например, вам не нужно знать о языке Python всё. Зато тестирование поможет узнать что-нибудь новое или разобраться в том, что вы не понимаете.
Администраторы будут выкладывать викторины и тесты, а простые пользователи проверять себя. Ещё лучше, если сделать ограниченное время на прохождение, рейтинг пользователей и возможность делиться результатами тестов с друзьями.
Примеры реализации
Техническая реализация
Чтобы пользователи могли сохранять результаты пройденных тестов, придется реализовать создание учетной записи.
В идеале, администраторы должны создавать тесты с вопросами и ответами, просто загружая текстовый файл. Тогда нужно настроить обработку текстового файла приложением, чтобы тест формировался автоматически.
GUI-проекты на Python
Сигнализация
Идея в том, чтобы имитировать звук сигнализации при каком-либо условии. Этим условием может быть наступление какого-то времени или разрядка ноутбука до 10%.
Примеры реализации
Техническая реализация
В приложении должна быть возможность устанавливать и редактировать условия запуска сигнализации, возможность просмотреть активные и неактивные задания.
Для воспроизведения аудио можно использовать библиотеку Pygame.
Файловый менеджер
Для удобства есть файловые менеджеры, которые помогают упорядочить информацию.
Понятно, что управлять файлами можно с помощью командной строки, но для большинства это тяжело. Лучше, когда есть графический интерфейс. Важно, чтобы ваш файловый менеджер позволял копировать, сортировать и переименовывать файлы и папки.
Кстати, неплохо бы добавить разные варианты просмотра и сортировки файлов, поиск.
Примеры реализации
Техническая реализация
Для создания уникальных пользовательских интерфейсов стоит использовать библиотеку PySimpleGUI.
Стоит также подумать о реализации таких функций, как создание новых папок или пустых текстовых файлов, их перемещения.
При реализации проекта стоит обратить внимание на библиотеки Sys, OS и Shutil. Они позволяют выполнять процессы в фоновом режиме, пока пользователь занимается чем-то другим.
Контроль расходов
Каждый день мы совершаем по несколько платёжных операций. Если их не контролировать, можно не заметить, как деньги уходят впустую. Чтобы избежать ненужных трат, придумали приложения для отслеживания расходов.
Наиболее продвинутые из них не просто показывают список трат за определённы период, но и подсказывают, какие категории расходов стоит сократить.
Пользователи смогут устанавливать бюджет и отслеживать свои расходы, чтобы принимать более ответственные финансовые решения.
Было бы неплохо добавить напоминания о необходимости анализа расходов.
Примеры реализации
Техническая реализация
Для построения системы отслеживания расходов могут пригодиться Pandas и Matplotlib.
Pandas − для анализа данных, а Matplotlib − для построения графиков. Графики дают пользователям визуальное представление о своих расходах, а визуальное представление обычно легче понять.
Что касается хранения информации, то стоит обратиться к SQLite и её модулю SQlite3.
Командная строка
Контакты
Вы еще записываете контакты на бумагу? Странная затея: блокнот может потеряться, и его нужно носить с собой.
Лучше использовать приложения для управления контактами: они позволяют хранить имя, адрес, номер телефона и адрес электронной почты. Плюс в большом списке можно быстро найти нужный контакт с помощью поиска.
Можно попробовать сделать резервную копию такой базы контактов, чтобы она синхронизировалась с данными на телефоне.
Примеры реализации
Обычно это реализуется в виде веб-сервисов или мобильных приложений, но программистам, которые чувствуют себя комфортно при работе с командной строкой, это пригодится.
Техническая реализация
Основная цель проекта − сохранить контактные данные. Важно настроить команды, которые пользователи могут использовать для ввода контактных данных. Вы можете использовать Argparse или Click командную строку базу. Они абстрагируют много сложных вещей, поэтому вам нужно сосредоточиться только на логике, которая будет выполняться при выполнении команд.
Значительную часть работы будут выполнять Argparse и Click. Вам остаётся только подумать о логике выполнения команд. Вам также нужно реализовать удаления контактов, обновление информации и вывод списка сохранённых. Идеально, если они будут сортироваться по алфавиту или дате создания.
Проверка подключения к сайту
При переходе по ссылке, веб-страницы загружаются не всегда. Но обычно непонятно, в чем проблема: недоступен сам сайт или проблема на вашей стороне.
Здесь на помощь приходит приложение для проверки подключения к сайту. Сервис анализирует статус URL-адреса и сообщает его. Так можно не обновлять страницу N раз в ожидании загрузки сайта.
Но! Если отображать результаты в командной строке, пользователю нужно будет обновлять её вручную. Лучше потратить больше времени и реализовать уведомления о появлении доступа к сайту.
Примеры реализации
Техническая реализация
Для подключений можно использовать TCP или ICMP. Один из модулей, которые нужно проверить − Socket.
Фреймворки Docopt, Click или Argparse позволят изменять список сайтов для проверки. Ещё подумайте о введении интервалов для проверки, чтобы не перегружать систему.
Изменение имени файлов
Иногда все файлы в папке должны называться примерно одинаково. Например, File0001.jpg, где номера увеличиваются в зависимости от количества файлов в каталоге. Делать это вручную утомительно.
Наш сервис позволит пользователям автоматически переименовать большое количество файлов и не допустить случайных ошибок.
Кстати, иногда нужно переименовать лишь часть файлов в папке. Хорошо, если такая функция тоже будет.
Примеры реализации
Техническая реализация
Для манипуляций с файлами пригодятся библиотеки OS, Sys и Shutil.
Чтобы сервис понял, по какой системе нужно менять названия файлов, дайте ему шаблон. Если вы понимаете, как работают регулярные выражения, воспользуйтесь модулем Regex.
Банальная задача − назвать файлы по списку или привести их в общий вид путем изменения MyfilesXYZ, где XYZ − число. Это должно быть базовой функцией, чтобы не усложнять пользователям жизнь.
Понравилось разрабатывать подобные проекты на Python? Вам понравится:
Источник: Проекты на Python, которые сможет разработать любой Middle Python Developer на Realpython.
12 идей проектов на Python для вашего портфолио
Хочешь знать больше о Python?
Подпишись на наш канал о Python в Telegram!
Сайт pythonist.ru опубликовал перевод статьи «12 Unique Python Project Ideas for Your Resume». Представляем его вашему вниманию.
Чтобы получить достойную работу в IT, пригодится профильное образование и диплом. Но далеко не все разработчики заканчивали вуз. Работу можно найти и благодаря собственным навыкам, доказательством которых служат личные проекты. Причем проекты — мера куда более объективная, чем диплом.
В этой статье мы разберем 12 идей проектов на Python, которыми можно пополнить свое портфолио. Все идеи — из разных областей.
«Проект закончен лишь тогда, когда он начинает работает на тебя, а не ты на него», — Скотт Аллен
1. Умный ассистент
Ассистент — хороший проект. Благодаря ему интервьюер поймет, насколько вы хороший питонист: знаете, как правильно использовать ресурсы и создавать из них что-то полезное.
Чтобы создать ассистента, не нужно быть специалистом в области разработки на Python. Вы можете сделать это с помощью доступных пакетов.
Для реализации подобного проекта вы можете использовать, например, Pyttsx3 для распознавания текста. А с помощью модуля os можно добавить функции вроде проигрывания музыки, запуска приложений, поиска по Википедии и т. д. Но запомните одно правило: «одна библиотека — одна функция».
Также вы можете расширить функционал своей программы, добавив агрегатор веб-страниц или автоматизацию рутинных задач. К примеру, можно добавить скрипт, который будет скрапить результаты поиска Google. Все это вы можете включить в функционал вашего ассистента, чтобы проект смотрелся внушительнее.
У этого проекта нет конечной точки. Чем больше функций, тем профессиональнее и полезнее ваш ассистент.
2. Веб-сайт
Создать свой сайт для портфолио — тоже хорошая идея. Можно создать «обычный» сайт: платформу для электронных платежей, образовательную платформу или что-то подобное. Но вы можете создать и сайт, который автоматизирует повседневные задачи и может использоваться в реальной жизни.
Например, ваш сайт может принимать список адресов электронной почты и отправлять введенное вами письмо на каждый из них. Или конвертировать PDF-файлы в аудио-файлы.
Наверняка у вас есть множество идей — воплотите их в жизнь.
3. Автоматизатор задач
Этот проект похож на первый, но с упором на автоматизацию.
Вы можете написать программу, автоматизирующую разные задачи. Например, для управления папками и файлами (переименование, удаление, перемещение). Полезным будет и скрипт, выполняющий SEO-действия в вашем блоге. Еще одна идея — скрипт, отправляющий поздравление друзьям на их день рождения.
Во всем этом вам помогут следующие библиотеки: BeautifulSoup (веб-скрапинг), Selenium (автоматизация действий в интернете), win10toast (уведомления Windows), os (менеджмент папок) и т. д.
4. Игра
Создание игр — кропотливый и времязатратный процесс. Но вы можете создать полнофункциональную игру, и лучше этого ничего не придумаешь.
Игра говорит о своем разработчике многое: о его креативности, собранности. Также качество игры показывает, насколько хорошо разработчик знает концепты программирования и ООП.
Python имеет множество библиотек для создания игр. Вы можете пройти по этой ссылке и выбрать подходящую для вас — ссылка.
5. Разработка модели компьютерного зрения
Компьютерное зрение — тренд 21 века. Каждая компания внедряет компьютерное зрение в свои системы (в каком-либо виде). Существует множество успешных стартапов в данной области.
Если вы реализуете модель компьютерного зрения, вы покажете работодателю, как быстро вы адаптируетесь к новым технологиям.
Компьютерное зрение можно использовать в различных областях. Вы можете создать систему распознавания лиц, распознавания болезней посредством анализа рентгеновских снимков, программу для анализа дорожного трафика.
В экосистеме Python есть множество библиотек, которые помогут помочь вам в этом деле. Одна из лучших — OpenCV.
6. Разработка графического пользовательского интерфейса
Разработка GUI — интересный проект, который вполне можно включить в свое портфолио. Графический интерфейс — это то, что видит пользователь и то, с помощью чего он взаимодействует с вашей программой.
Пройдитесь вокруг дома, зайдите в местные магазинчики, узнайте об их нуждах и создайте программу с GUI, исходя из этих нужд. Запомните: хороший пользовательский интерфейс улучшает впечатление от вашей программы и повышает шансы заработать на ней деньги!
Tkinter — самая популярная библиотека Python для создания GUI. Правда, в ней может быть непросто разобраться, особенно если вы новичок. Но помимо Tkinter существует множество других GUI-библиотек, познакомиться с ними можно по ссылке.
7. Приложение для анализа настроения
Настроение — это наши мысли и чувства. Анализ настроения — это изучение субъективной информации в выражениях. Это сфера обработки естественного языка (Natural Language Processing, NLP). С помощью NLP мы можем распределить данные на позитивные, негативные или нейтральные. Для извлечения информации о настроении из текста используются различные техники обработки естественного языка.
Что касается личных проектов, вы можете написать приложение, которое будет определять настроение пользователя по его отзыву. Речь может идти об отзывах о ресторанах, торговых центрах или сайтах — распознавание настроения пользователей пригодится в любой сфере.
Вы можете предсказать, когда компаниям нужно начинать распродажи или предложить новый продукт. Вы поможете компаниям развивать их бизнес, а они вам — развить ваш стартап.
В этом деле вам помогут соответствующие библиотеки, а именно: NLTK, TextBlob, spacy, Gensim и CoreNLP.
8. Поисковый бот
Поисковый бот — это бот, который периодически просматривает сайты и извлекает нужную вам информацию.
Вы можете написать бота, который будет извлекать информацию из интернет-магазинов, сравнивать цену на два товара и возвращать ссылку на самый дешевый вариант. Также ваш бот может постоянно проверять цену на определенный товар и отправлять вам уведомление, когда, например, цена снижается или начинается распродажа.
А если добавить к поисковому боту немного автоматизации, вы получите продукт, который украсит любое портфолио.
Лучшие библиотеки для такого проекта — Beautiful Soup и requests.
9. Бот для алгоритмического трейдинга
Это больше, чем просто проект. Он может принести вам доход. Речь идет о боте, который автоматически продает и покупает акции в зависимости от цен.
Для новичков этот проект может показаться сложным. Если кратко, то вам нужно написать программу, которая получает две цены акций: нынешнюю и предыдущую. Следующий шаг — создание модели машинного обучения, способной предсказать будущую цену. После того, как ваш бот предскажет цену, сравните прогнозируемую стоимость акций с реальной. Если различие небольшое — поверьте в себя и начните торговать!
Этот проект, конечно же, займет много времени. Но если вы с ним справитесь, то точно получите достойную работу.
10. Пакет Python
Пакет Python — это папка с Python-файлами, которые выполняют определенные задачи. Пакеты помогают разработчикам писать меньше кода — нужно лишь импортировать пакет. Каждый пакет Python содержит в себе набор действий, которые выполняются согласно соответствующим инструкциям.
Создавать пакеты не так сложно — вы можете найти соответствующие руководства на YouTube.
11. Мобильное приложение
Считается, что Python не годится для создания мобильных приложений. Это не совсем так. Существует множество библиотек, которые могут помочь вам создать мобильное приложение.
Одна из них — Kivy. Это кроссплатформенная библиотека, с помощью которой можно создавать приложения и для Android, и для iOS.
12. Упрощение анализа данных
Если у вас есть базовые знания в области машинного обучения, вы, наверно, слышали о анализе данных. С него начинается любой проект в области ML.
Если вы принимали участие в проекте, связанном с дата сайенс, вы знаете, какие шаги нужны для подготовки данных для модели машинного обучения. Они одинаковы практически в любой области — обработка отсутствующих значений, категориальных данных или разделение данных на обучающую и тестовые выборки.
Все эти шаги являются общими для всех моделей машинного обучения.
Вы можете создать сайт, который будет принимать набор данных, обрабатывать его и возвращать результат. На таком сайте нужны лишь слайдеры, выпадающие списки и поля ввода.
При создании подобного сайта вы можете использовать библиотеку streamlit. Это библиотека с открытым исходным кодом, которая была создана для машинного обучения. С ее помощью вы можете писать меньше кода и создавать потрясающие приложения.
Итоги
Все проекты, которые мы обсудили в статье, — лишь идеи. Вы можете их развить или видоизменить до неузнаваемости. При этом каждый из них можно реализовать при минимуме усилий и даже без глубоких знаний.











