Roadmap изучения Python (от новичка до уверенного джуна)
1. Базовый уровень
Цель: Понимание синтаксиса, основ программирования и решение простых задач.
Ресурсы:
Книга: Тони Гэддис — "Начинаем программировать на Python"
Плюсы: Хорошо объясняет основы, задачки на закрепление теории после какждой главы.
Минусы: Поверхностно затрагивает ООП и функции.
Что изучить:
Переменные, типы данных, операторы
Условные конструкции (
if-else
)Циклы (
for
,while
)Функции и модули
Работа с файлами
2. Алгоритмы и структуры данных
Цель: Научиться решать задачи эффективно, понимать сложность алгоритмов.
Ресурсы:
Книга: Адитья Бхаргава — "Грокаем алгоритмы"
Плюсы: Визуальное объяснение, написана хорошим понятным языком.Книга: Кори Альтхоф — "Computer Science для программиста-самоучки"
Плюсы: Структуры данных + реализация на Python плюс задачки при обучении это наше все.
Что изучить:
Сложность алгоритмов (O-нотация)
Массивы, связные списки, стеки, очереди
Рекурсия
Бинарный поиск
Сортировки (пузырьком, быстрая, слиянием)
3. Углубленное изучение Python
Цель: Глубокое понимание языка, ООП, стандартной библиотеки.
Ресурсы:
Книга: Васильев А.Н. — "Программирование на Python в примерах и задачах"
Плюсы: Уровень глубже и серьезней чем у Гедиса, многие команды уже подзабыты так как читали про лагоритмы это поможет вспомнить и вхождение в темы будет не сложным так как уже читали. Опять же задачки - они на высоте заставят задуматься. После этих задач можно смело врываться на codewar и LitecodeДополнительно:
Марк Лутц — "Изучаем Python" (глубоко про функции, ООП, генераторы)
Документация Python (официальный туториал)
Практика:
Задачи на Codewars (3-5 kyu)
Что изучить:
Классы, наследование, полиморфизм
Итераторы и генераторы
Декораторы и контекстные менеджеры
Работа с исключениями
В принципе этого достаточно для понимания синтаксиса языка и умения писать код на достойном уровне. Дальше уже подготовка к работе и выбор специализации, но независимо от выбора обязательно нужно знать и уметь пользоваться Git и GitHub можно пройти курсы - бесплатных курсов много в интернете.
В зависимости от специализации если Backend то Django/FastApi
Ресурсы: Официальная документация Django, лучше пока ни кто не чего не придумал для старта. Дальше могу подсказать хороший проект, который дает такой не слабый буст в скиле -proghanter.ru, но этот ресурс по моему мнению достоин войти в раздел литература. Интересно заходите читайте. Когда будет изучать пилите свой проект заодно познакомитесь с Докером, Celery и Redisом и другими инструментами
Советы:
Регулярность: 1-2 часа в день лучше, чем 10 часов раз в неделю.
Важно: Не пытайтесь изучить всё сразу! Фокусируйтесь на одном направлении.
Практика пилите проекты решайте задачи, не будет практики забудете все что прочли.
Если это не хобби, а для устройства на работу, ходите на собесы начиная от того как прочтете Васильева.