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

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

Вы изучили синтаксис 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
Нашли ошибку в тексте? Напишите нам.
Спасибо,
что читаете наш блог!