Подпишитесь на интересующие вас теги, чтобы следить за новыми постами и быть в курсе событий.
Разработка на Python с нуля: роадмап программиста
Как научиться программировать на Python с нуля? Мы составили дорожную карту для быстрого, эффективного и структурированного изучения Python.
221279
Программирование на Python с нуля: легко или не очень? По факту, изучение Python почти ничем не отличается от изучения любого другого языка. Всё стандартно: установка, настройка рабочего окружения, базы данных, переменные, функции и первый «Hello World». Но дальше — круче, ведь в ход идёт разделение на сферы применения, синхронное и асинхронное программирование, тестирование и сопутствующие инструменты, часто индивидуальные для каждого языка.
Дорожная карта Python
Чтобы окончательно не запутаться, нужно всё структурировать. Именно поэтому мы совместно с Факультетом Python-разработки GeekUniversity составили дорожную карту, которая поможет в изучении Python с нуля.
Что нужно знать Python-разработчику?
Пласт базовых знаний и навыков включает в себя:
- основные навыки пользования терминалом;
- понимание принципа работы IDE;
- навыки работы с Git;
- менеджер пакетов pip;
- базы данных (ORM, CRUD-операции);
- принципы ООП;
- синтаксис языка Python;
- алгоритмы и структуры данных;
- составление документации;
- модульное тестирование.
Разумеется, недостаточно реализовать вывод «Hello World», чтобы разобраться в языке программирования Python, но для более глубокого понимания сперва стоит определиться с направлением, в котором вы хотите работать. Исходя из этого, подбираются дополнительные инструменты для изучения.
Веб-разработка
Здесь особенно популярны такие Python-фреймворки, как Django и Flask: с их помощью можно быстро создать логику бэкенда. Для начала работы хватит и одного, но не помешает знать несколько, понимать, в каких случаях они используются, где предпочесть Django, а с какой задачей лучше справится Flask, Tornado или Pyramid.
Для построения веб-приложений также пригодится знание протоколов, HTML, CSS и JavaScript.
Data Science
Основы программирования на Python в разрезе Data Science следует продолжить изучением таких библиотек и фреймворков:
Для погружения в Machine Learning на Python, обучение стоит начать с основных разделов, а именно:
- обучение с учителем;
- обучение без учителя;
- обучение с подкреплением.
Книги по теме
Другие направления
Хоть это и не включено в дорожную карту, но можно изучать Python для программирования игр, написания десктопных и мобильных приложений. Однако, несмотря на наличие соответствующих для этого инструментов, язык наиболее востребован именно в Data Science и бэкенд-разработке.
Основные инструменты Python-разработчика
Изучение основ Питона не может быть полноценным без набора полезных инструментов под рукой. Мы собрали небольшой список и разделили его на категории.
Базовые
- Pip — популярный менеджер пакетов в Python, с помощью которого можно устанавливать и управлять программными пакетами.
- Pipenv — инструмент для управления виртуальным окружением в Python.
- Setuptools — целый набор инструментов для создания пакетов в Python.
- Virtualenv — инструмент для создания виртуального окружения с пакетами.
Документация
- Sphinx — генератор документации, который изначально создавался для работы с Python, но впоследствии стал инструментом общего пользования.
- autodoc — расширение Sphinx для создания reStructuredText файлов из исходного кода.
Тестирование
- py.test — платформа для тестирования на Python со множеством функций. Инструмент автоматически находит тесты, запускает их и выводит отчёты.
- Selenium WebDriver — в тандеме с другими инструментами позволяет эффективно тестировать веб-приложений.
- unittest — модуль инструментов с настройкой используемых данных, управлением комплектами и наборами тестов, возможностью запускать тесты в графическом или текстовом режиме.
Прочие
- flake8 и SonarLint — популярные линтеры.
- pyenv — менеджер версий Python.
- Mypy — статический анализатор типов.
Дополнительные материалы для программирования на Python с нуля
Чтобы обучение языку Python с нуля было максимально эффективным, следует запастись полезными ресурсами.
Книги
Курсы Python
Отличным подспорьем для программирования на Python с основ станут видеолекции:
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Но курсы программирования на Python этим не ограничиваются. Освоить базу из представленной дорожной карты Python можно в онлайн-университете GeekBrains, где помимо теории есть возможность прокачать и практические навыки: создать интернет-магазин, сетевой чат, поработать в команде и получить фидбек от опытных разработчиков.
Подкасты
- 38 попугаев
- Python Junior подкаст
- Moscow Python Podcast
Что дальше?
Не останавливайтесь на достигнутом, ведь изучение Python с нуля — задача непростая, несмотря на всю лёгкость языка. Как только знания станут уверенными, переходите к использованию теории на практике. В этом поможет игра Python Challenge, где нужно решать задачки с помощью написания небольших программ: с каждым пройденным этапом будет увеличиваться сложность. Также вы можете поучаствовать в работе над любым open source проектом.
Изучайте теорию, закрепляйте практикой и переходите к реальным задачам.
221279
Что думаете?
7 комментариев
Сначала интересные
Можете посоветовать бесплатные курсы по аналитике данных на Python? А то куча разрозненных материалов: книги, видео, статьи. Хватаю по верхам, но чувствую, что нет основы, видения общей картины.
спасибо! Отличная статья! Сохранил)
Хорошо, но дорого. Да сейчас за все надо платить. А если нет этих мани?
Борис Пол, Не согласен с Вами. Есть бесплатные курсы по Python для начинающих. Напрмиер: https://gb.ru/courses/112, https://stepik.org/course/58852
Борис Пол, попробуйте sololearn, по мимо базы там есть и куча других курсов

Pavel Res, что тоже платный, а бесплатный - урезает практику
ещё 1 комментарий