Аватарка пользователя Марина Александровна
Марина Александровна

Разработка на Python с нуля: роадмап программиста

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

221279

Программирование на Python с нуля: легко или не очень? По факту, изучение Python почти ничем не отличается от изучения любого другого языка. Всё стандартно: установка, настройка рабочего окружения, базы данных, переменные, функции и первый «Hello World». Но дальше — круче, ведь в ход идёт разделение на сферы применения, синхронное и асинхронное программирование, тестирование и сопутствующие инструменты, часто индивидуальные для каждого языка.

Дорожная карта Python

Чтобы окончательно не запутаться, нужно всё структурировать. Именно поэтому мы совместно с Факультетом Python-разработки GeekUniversity составили дорожную карту, которая поможет в изучении Python с нуля.

Что нужно знать Python-разработчику?

Пласт базовых знаний и навыков включает в себя:

  • основные навыки пользования терминалом;
  • понимание принципа работы IDE;
  • навыки работы с Git;
  • менеджер пакетов pip;
  • базы данных (ORM, CRUD-операции);
  • принципы ООП;
  • синтаксис языка Python;
  • алгоритмы и структуры данных;
  • составление документации;
  • модульное тестирование.

Разумеется, недостаточно реализовать вывод «Hello World», чтобы разобраться в языке программирования Python, но для более глубокого понимания сперва стоит определиться с направлением, в котором вы хотите работать. Исходя из этого, подбираются дополнительные инструменты для изучения.

Как стать разработчиком с нуля
tproger.ru

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

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

Неофициальный и консервативный FAQ по Django
tproger.ru

Для построения веб-приложений также пригодится знание протоколов, HTML, CSS и JavaScript.

Django 2 в примерах

Django 2 в примерах

Разработка веб-приложений с использованием Flask на языке Python

Разработка веб-приложений с использованием Flask на языке Python

Data Science

Основы программирования на Python в разрезе Data Science следует продолжить изучением таких библиотек и фреймворков:

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

  • обучение с учителем;
  • обучение без учителя;
  • обучение с подкреплением.

Книги по теме

Крупномасштабное машинное обучение вместе с Python

Крупномасштабное машинное обучение вместе с Python

Python для сложных задач. Наука о данных и машинное обучение

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

Python 3 и PyQt 5. Разработка приложений

Python 3 и PyQt 5. Разработка приложений

Курсы Python

Отличным подспорьем для программирования на Python с основ станут видеолекции:

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

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

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

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

Подкасты

Что дальше?

Не останавливайтесь на достигнутом, ведь изучение Python с нуля — задача непростая, несмотря на всю лёгкость языка. Как только знания станут уверенными, переходите к использованию теории на практике. В этом поможет игра Python Challenge, где нужно решать задачки с помощью написания небольших программ: с каждым пройденным этапом будет увеличиваться сложность. Также вы можете поучаствовать в работе над любым open source проектом.

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

Следите за новыми постами по любимым темам

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

Веб-разработка
Python
Машинное обучение
Партнёрский материал
Data Science
Планы обучения
221279
Что думаете?
7 комментариев
Сначала интересные
Аватар пользователя Ivan Ivan
Можете посоветовать бесплатные курсы по аналитике данных на Python? А то куча разрозненных материалов: книги, видео, статьи. Хватаю по верхам, но чувствую, что нет основы, видения общей картины.
Аватар пользователя Dronovv
спасибо! Отличная статья! Сохранил)

Аватар пользователя Борис Пол
Хорошо, но дорого. Да сейчас за все надо платить. А если нет этих мани?
Аватар пользователя Aliaksandr Martsavy
Борис Пол, Не согласен с Вами. Есть бесплатные курсы по Python для начинающих. Напрмиер: https://gb.ru/courses/112, https://stepik.org/course/58852
Аватар пользователя Pavel Res
Борис Пол, попробуйте sololearn, по мимо базы там есть и куча других курсов
Аватар пользователя Владимир Прин
Pavel Res, что тоже платный, а бесплатный - урезает практику
ещё 1 комментарий