Что написать на Python новичку, чтобы удостовериться в своих знаниях?
После того, как чувствуешь себя более свободно, пользуясь Python, то что стоит на нём написать? Что-то, что даст мне понять уровень моих знаний и то, что стоит подтянуть и куда дальше стремиться.
P.S. Back-end приветствуется.
- Вопрос задан более трёх лет назад
- 27468 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 7
Sergey6661313 @Sergey6661313
checkio.org пробовали? да задачки простые, но там есть функция «посмотреть другие варианты решений». И вот там самый смак.
Ответ написан более трёх лет назад
Нравится 4 1 комментарий
Подтверджаю. Такие интересные и красивые решения бывают.
Сергей @red-barbarian
ну кроме стандартных чатов сервер-клиент, можно предложить что рекомендуют в java:
-текстовый квест
-простую sql базу. (реализация простых запросов sql, хранение данных в таблицах)
кроме того
изучить Qt, джанго
попробовать машинное обучение, нейронные сети. сделать например свой определитель иностранного языка. скачать дамп википедии и создать бота который можэет говоить по теме.)
кроме того
рефакторинг своего текста. тупо сидеть и по пять минут выбирать наилучшее наименование для переменной, функции. структуры.
кроме того
посмотреть, посетить митапы питона. узнать что в тренде и к чему лежит душа.
Ну после митапов идей будет много. и желание попробовать.
кроме того
github.
.
можно много придумывать если язык становится не целью а средством.
Проекты на Python для новичков

Вы изучили синтаксис 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? Как тренироваться? [дубликат]
Я начал недавно(месяц назад) изучать программирование. Столкнулся с такой проблемой что не знаю что делать из практики какие задания придумывать. Как тренироваться ? Подкиньте пару заданий для новичка. (Я сделал подобие калькулятора в терминале)
Отслеживать
user177221
задан 3 апр 2017 в 15:24
35 1 1 серебряный знак 3 3 бронзовых знака
Вам следует конкретизировать Ваш вопрос.
3 апр 2017 в 15:28
checkio.org тут есть задачи от начального до высокого уровня
3 апр 2017 в 15:30
К сожалению, подобные вопросы — оффтопик на SO, т.к. они приводят к закидыванию ссылками на внешние ресурсы, причем каждый раз — одними и теми же ссылками. Исключение сделано только для общего вопроса Книги и учебные ресурсы по Python. В котором, кстати, есть почти все ссылки, что вам набросали ниже.
Старт в Python для новичков: с чего начать
Python — универсальный язык программирования: на нём можно делать нейросети, запускать нейросети, собирать сайты и создавать что угодно ещё. Мы собрали всё, что нужно для быстрого старта в Python, — с теорией и практикой, чтобы можно было сразу сделать что-то полезное для себя.
Что такое Python
Python — язык программирования высокого уровня. Это значит, что разработчику не нужно знать, как работает процессор или как устроена память, чтобы писать код. Вместо этого он пишет простые команды, а компьютер берёт на себя все вопросы по тому, как это должно работать.
Как отмечает большинство разработчиков, когда начинаются разговоры про Python, — у него безупречный и аккуратный код. Чтобы оформить любой логический блок, например содержимое функции, просто используют отступы и пробелы. Не нужно проверять, не потерялась ли по пути лишняя скобка — всё видно сразу. Одна команда занимает одну строку, поэтому разделители команд тоже не нужны.
Вот как красиво выглядит синтаксис на Python:
a=0 print('Введите число: ') input(a) if a==0: print('Вы ввели ноль') else: print('Вы однозначно ввели не ноль')
В какой бы области вы ни делали проект, скорее всего, для этого уже есть готовая Python-библиотека. Обработка изображений, математика, распознавание речи — для всего есть инструменты. Чтобы вы понимали, насколько это универсальный язык, посмотрите, для чего используют Python-библиотеки:
- NumPy — машинное обучение и искусственный интеллект;
- Django и Flask — веб-разработка и веб-приложения (например, Pinterest, YouTube и Instagram написаны на Django);
- SQLAlchemy — базы данных и обработка больших объёмов информации;
- Cocos2d — мобильные и браузерные игры;
- Tornado — приложения, которые требуют высокой производительности и должны работать одновременно с сотней тысяч пользователей;
- Bubot — программирование робототехники, как вариант — использование на Raspberry Pi.
Python можно запустить практически на любой платформе — от КПК до серверов — и на любой операционной системе. Правда, есть ограничения. Как только платформа полностью устаревает и перестаёт использоваться (например, Windows 95), прекращается её поддержка в новых версиях языка.
Ещё в Python есть поддержка ООП — объектно-ориентированного программирования, но про это мы ниже поговорим отдельно.
Почитать подробнее про Python:
Как установить
Установка Python простая и занимает от силы 10 минут. Вот статья, как установить Python под Windows и как с ним работать. Для MacOS всё почти то же самое, а если у вас Linux, то вы лучше нас знаете, как это сделать:
Ещё 10 уйдёт на скачивание и настройку редактора кода — в нём пишут текст программы. Также редакторы кода умеют находить простые ошибки и подсвечивать проблемные места.
Как начать писать
Синтаксис — это то, какие команды и конструкции есть в языке, а также правила оформления кода. Главное, что нужно запомнить: в Python нет точек с запятой в конце, а все вложенные конструкции оформляются отступами. Например, вот как выглядит оформление цикла — сразу видно, что куда относится:
a = 5 b = 10 # Условный оператор if a == b: # выводим результат, если верно print('a = b') else : # если условие неверное — выводим другое сообщение print('a ≠ b') # условные операторы— И, ИЛИ, НЕ if a > 5 and b < 10 or not a != b: print('Сложное условие сработало')
Подробно про синтаксис для начинающих:
На вырост: объектно-ориентированное программирование
В Python есть полная поддержка ООП — это значит, что в нём можно пользоваться всей мощью и преимуществами такого подхода. На старте такое может не пригодиться, но как немного освоитесь — обязательно попробуйте, очень мощная штука.
Основная задача ООП — сделать сложный код проще. Для этого программу разбивают на независимые блоки, которые мы называем объектами.
Объект — это всего лишь набор данных и функций, таких же, как в традиционном функциональном программировании. Можно представить, что просто взяли кусок программы и положили его в коробку и закрыли крышку. Вот эта коробка с крышками — это объект:

Программисты договорились, что данные внутри объекта будут называться свойствами, а функции — методами. Но это просто слова — по сути, это те же переменные и функции.
Объект можно представить как независимый электроприбор у вас на кухне. Чайник кипятит воду, плита греет, блендер взбивает, мясорубка делает фарш. Внутри каждого устройства куча всего: моторы, контроллеры, кнопки, пружины, предохранители — но вы о них не думаете. Вы нажимаете кнопки на панели каждого прибора, и он делает то, что от него ожидается. И благодаря совместной работе этих приборов у вас получается ужин.
Такой подход позволяет программировать каждый модуль независимо от остальных. Главное — заранее продумать, как модули будут общаться друг с другом и по каким правилам. При таком подходе вы можете улучшить работу одного модуля, не затрагивая остальные — для всей программы неважно, что внутри каждого блока, если правила работы с ним остались прежними.
Почитать про ООП:
Проекты
Лучший способ освоить новый язык программирования — сделать на нём что-то полезное и интересное. Собрали проекты в «Коде», с которыми можно справиться даже без большого опыта в программировании, — с комментариями, пояснениями и разбором.
Попроще:
- Делаем свой таймер на Python
- Пишем игру Ним на Python
- Абсолютня: генератор новых слов на Python
- Конец ретроградному Меркурию! Пишем собственный гороскоп на Python
Посложнее:
- Телеграм-бот на Python
- Игра: арканоид на Python
- Работаем с биг-датой: визуализируем данные на Python
- Создаём свою модель распознавания лиц на Python
- Запускаем Python-скрипт на сервере, чтобы он работал всё время
Бонус: что по деньгам
Python-программисты — одни из самых востребованных в ИТ, поэтому с деньгами сейчас так (сейчас — это на октябрь 2023 года):
- джуниоры получают примерно 88 000 ₽;
- мидлы — 190 000 ₽;
- сеньоры — 315 000 ₽.
По данным Хабр Карьеры, средняя зарплата python-разработчика составляет почти 190 тысяч:

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