Привет! Это Python Mentor!

Слева дорожная карта (road map), в которой перечислено все то, что поможет освоить Python 3 в контексте задач автоматизации, веб-разработки и машинного обучения.

Книги, видео-курсы и лекции приведены в том порядке, в котором рекомендуется их изучать, для того, чтобы делать это продуктивно, и чтобы минимизировать возможную кашу в голове.

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

Путь предстоит не легкий, но увлекательный. Успехов!

Настройка окружения и среды разработки

Установка интерпретатора Python 3, среды разработки (IDE) и подготовка к работе с ними

Скачать Python 3 с официального сайта
Кликнуть на желтую кнопку "Download Python 3.*.*", скачать и затем установить

Скачать IDE PyCharm
Выбрать Community версию (она бесплатная), скачать и затем установить

Установка и настройка среды разработки (IDE) PyCharm в Windows
Видео, 13 минут


Введение

Основы синтаксиса языка и его основные механизмы

1) "Поколение Python": курс для начинающих
Интерактивный видео-курс. 61 урок, 215 тестов, 294 интерактивных задания

2) "Как устроен Python. Гид для разработчиков, программистов и интересующихся" Мэтт Харрисон
Книга, 272 с. Для закрепления знаний полученных в курсе "Программирование на Python 3"

3) "Поколение Python": курс для продвинутых
Интерактивный видео-курс. 63 урока, 428 тестов, 285 интерактивных задания

4) Стандарт PEP-8
Справочник по стандарту PEP-8 - основополагающему стандарту по программирования на Python.


Продолжение + основы системы контроля версий Git

Углубленное изучение механизмов языка и особенностей интерпретатора Python. Использование системы контроля версий (Git)

5) Python: основы и применение
Интерактивный видео-курс. 20 уроков, 5 часа видео, 26 тестов, 36 интерактивных задания

6) Объектно-ориентированное Программирование в Python
Неплохая статья, охватывающая многие аспекты ООП в Python

7) "Чистый Python. Тонкости программирования для профи" Дэн Бейдер
Книга, 288 с. Для закрепления знаний полученных в курсе "Python: основы и применение"

8) "Путь Python. Черный пояс по разработке, масштабированию, тестированию и развертыванию" Джульен Данжу
Книга, 252 с. Для закрепления знаний полученных в курсе "Python: основы и применение"

9) Решение задач после пройденных курсов
Интерактивный задачник-тренажер, который предлагает задачи, основываясь на результатах решения предыдущих задач

10) Transforming Code into Beautiful, Idiomatic Python
Доклад на тему как улучшить код и сделать его более чистым, читаемым и красивым. Видео, 48 минут

11) Базовый курс по Git
Видео уроки. Плейлист

12) Тренажер по Git
Интерактивный онлайн-тренажер. Очень даже ничего такой


Веб, фреймворки и сервера

Веб-технологии, популярные фреймворки и веб-сервера

13) Топовый онлайн курс по HTML/CSS
Интерактивные уроки по верстке. Перейти на сайт и нажать на зеленую кнопку "Начать учиться". Очень много бесплатного очень годного материала

14) Уроки по фреймворку Flask
23 видео урока. Плейлист

15) "Разработка веб-приложений с использованием Flask на языке Python" Мигель Гринберг
Книга, 272 с. Введение в фреймворк Flask и разработка на нем блога с пользователями, БД и регистрацией

16) Уроки по Django 3
Плейлист, 26 видео уроков

17) Что такое веб-сервера и для чего они нужны
Видео, 1 час 26 минут. Лекция идет в контексте ОС Linux и ее деталей, но пока это можно игнорировать, и вникать только в общую концепцию


Базы данных, SQL и ORM

Введение с системы управления базами данных, язык SQL и то, как с этим всем принято работать в настоящее время

18) Базы данных
Интерактивный видео-курс. 22 уроков, 5 часа видео, 100 тестов

19) Введение в базы данных
Интерактивный видео-курс, затрагивающий ORM. 23 уроков, 7 часа видео, 80 тестов

20) Интерактивный тренажер по SQL
Для закрепления пройденного материала. Интерактивный задачник-тренажер

21) ORM в Python: Sqlalchemy
Введение в SQLAlchemy, лекции

22) Вебинар про Sqlalchemy
Видео, 1 час 26 минут


Unit-тесты и статические анализаторы кода. PEP-8

Тестирование кода, сканирование кода на соответствие стандарту PEP-8

23) Pytests: введение в автотесты
Видео, 1 час 35 минут. Вебинар по pytests в Python 3

24) Использование модуля Unittests
Видео, 35 минут. Урок по модулю unittests в Python 3

25) Статический анализ кода
Справочник по статическим анализаторам кода в Python 3


Асинхронное программирование

Использование модуля asyncio. Корутины, событийный цикл и кооперативная многозадачность

26) Асинхронный Python глазами начинающего
Видео-доклад, 21 минута. Введение в концепцию асинхронного программирования

27) Асинхронное программирование в Python
Видео-доклад, 28 минут. Шикарный доклад, дающий представление о том, как работает asyncio под капотом

28) Уроки по асинхронному программированию на Python от Олега Молчанова
Плейлист, 8 видеоуроков. Врядли найдете лучше

29) AsyncIO для практикующего python-разработчика
Статья. Содержит разбор основных терминов и понятий из мира asyncio, а также многочисленные примеры кода

30) Описание работы с asyncio от разработчиков Python
Страница из официальной документации (PEP 3156). Содержит большое количество примеров кода с использованием asyncio


Автоматизация тестирования. QA automation

Автоматизированное тестирование пользовательских интерфейсов веб-приложений

31) Что такое автоматизация тестирования
Видео, 51 минута.

32) Автоматизация тестирования с Pytest и Python
Плейлист. 18 уроков.

33) Автоматизация тестирования с помощью Selenium и Python
Интерактивные видео уроки. 26 уроков, 80 тестов, 6 заданий


Алгоритмы и структуры данных

Источники для самостоятельного изучения алрогитмов и структур данных

34) "Грокаем алгоритмы" Адитья Бхаргава
Книга, 290 с. Отличная книга для начинающих с примерами кода на Python

35) "Классические задачи Computer Science на языке Python" Девид Копец
Книга, 256 с. В книге разобраны наиболее известные задачи CS с примерами кода на Python

36) Алгоритмы: теория и практика. Структуры данных
Интерактивные видео-уроки. 11 уроков, 17 интерактивных заданий

37) Алгоритмы: теория и практика. Методы
Интерактивные видео-уроки. 47 уроков, 21 интерактивных заданий, 10 тестов

38) Базовый курс по структурам данных
Интерактивные видео-уроки. 50 уроков, 174 тестов, 84 интерактивных задания


Паттерны (шаблоны) проектирования и архитектура приложения

Введение в архитектуру приложения и популярные шаблоны проектирования

39) "Python на практике" М. Саммерфилд
Книга, 338 с. Детальный разбор всех популярных паттернов с примерами кода на Python. Много примеров, очень много

40) "Секреты Python Pro" Д. Хиллард
Книга, 320 с. Книга рассказывает, как правильно и эффективно писать код и как должны быть архитектурно построены программы

41) Паттерны с примерами кода и описанием
Github репозиторий

42) "Паттерны разработки на Python: TDD, DDD и событийно-управляемая архитектура" Г.Персиваль, Б.Грегори
Книга, 336 с. Очень крутая книга, рассказывающая как на практике применять концепции DDD и TDD. Рекомендую!

43) "Микросервисы. Паттерны разработки и рефакторинга" К. Ричардсон
Книга, 544 с. Крутейшая книга, в которой автор рассказывает про то, как надо создавать микросервисные приложения, а также как их рефакторить и тестировать. Примеры кода в книге на Java, но это не помешает уловить суть микросервисного подхода


Анализ данных и машинное обучение на Python

Теория и работа с фреймворками

44) Машинное обучение простыми словами
Шикарнейшая статья на тему что такое машинное обучение, где применяется и с чего начать изучение

45) Основы статистики ч.1
Интерактивные видео-уроки. 29 уроков, 4 часа видео, 105 тестов

46) Основы статистики ч.2
Интерактивные видео-уроки. 24 урока, 6 часов видео, 74 теста, 22 интерактивных задание

46) Основы статистики ч.2
Конспект лекций по курсу "Основы статистики" Анатолия Карпова

47) Введение в Data Science и машинное обучение
Интерактивные видео-уроки. 30 уроков, 9 часов видео, 54 теста, 21 интерактивное задание

48) Нейронные сети
Интерактивные видео-уроки. 24 урока, 6 часов видео, 90 тестов, 27 интерактивных заданий

49) Машинное обучение
Интерактивные видео-уроки. 71 урок, 7 часов видео, 68 тестов

50) Машинное обучение и анализ данных
Специализация на Coursera от Yandex и МФТИ

51) Анализ данных
Интерактивный курс от Яндекса. Платный

52) Анализ данных
Курс от Анатолия Карпова (@mail.ru). Платный

53) "Python для сложных задач. Наука о данных и машинное обучение" Дж. Вандер Плас
Книга, 576 с. Справочник по библиотека и фреймворкам для анализа данных и машинного обучения на Python

54) "Однострочники Python. Лаконичный и содержательный код" К. Майер
Книга, 256 с. Справочник по применению однострочников при решении задач анализа данных на Python


Введение в архитектуру операционных систем. OC Linux. Непрерывная интеграция и доставка (CI/CD), развертывание и управление конфигурацией (Ansible), контейнеризация (Docker)

Современные ОС и Linux

55) Основы Linux
Интерактивные видео-уроки. 34 урока, 147 тестов, 18 интерактивных заданий

56) "Внутренее устройство Linux" Брайан Уорд
Топовая книга! 384 с.

57) "Сетевые операционные системы" Олифер В.Г.
Книга, 544 с. Скачивание по прямой ссылке

58) "Безопасность контейнеров. Фундаментальный подход к защите контейнеризованных приложений" Л. Райс
Книга, 224 с. Автор описывает простыми словами то, как работает контейнеризация в Linux под капотом, и показывает, как можно запускать контейнеры, вручную, без использования систем контейнеризации

59) "Kubernetes. Лучшие практики" Б. Бернс, Э. Вильяльба
Книга, 288 с. Книга рассказывает о том, что такое Kubernetes, как им пользоваться и как настраивать

60) Что такое CI/CD (непрерывная интеграция и доставка)
Видео, 9 минут

61) Сравнение существующих систем CI/CD
Видео, 15 минут

62) Уроки по Jenkins с нуля
Плейлист. 14 уроков

63) Ansible: быстрый старт
Вебинар, 1 час 43 мин

64) Основы Docker. Большой практический выпуск
Видео урок. 1 час 25 минут


YouTube каналы

Каналы, которые мы рекомендуем

Тимофей Хирьянов
Лекции и практические занятия от одного из топовых российских преподавателей по CS

Олег Молчанов
Канал посвящен программированию на языке Python 3. Здесь вы найдете видео уроки по программированию на Python, созданию сайтов и веб-приложений. Есть уроки парсингу сайтов, по Flask, уроки по Django 2, по созданию блокчейна на Python, ботов для Телеграма.

dUdVstud
Канал для изучающих (или просто любящих) прикладную математику и анализ данных. Математика для Data Science и Machine Learning с нуля. Есть и уроки по Python

miracl6
Канал, где автор делится своим опытом в области образования, карьеры, саморазвития в области Data Science. А также уроки по Python и DS

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