С чего начать изучение Python: 10 простых шагов
В прошлой статье мы рассказали о том, что такое Пайтон, где его применяют и почему он так популярен. Сегодня же разберемся, с какой стороны подойти к его изучению и как сделать процесс максимально эффективным. Если тебя заинтересовал этот язык программирования, оставайся с нами. У нас есть план из десяти шагов.
Шаг 1: определи цель
Путь самурая – это только в кино драматично и красиво. В реальной жизни, чтобы чего-то достичь, нам обязательно нужна цель. Подумай о том, что тебя мотивирует. Возможно, хочешь создавать сайты, игры, приложения или анализировать данные. Нужно найти что-то интересное и тогда изучение Python не превратится в скучные школьные уроки, с которых хочется сбежать. К тому же от выбранной области будет зависеть список программ и инструментов, которые тебе придется освоить. Планирование – наше все.
Шаг 2: установи Python
Да, вот так сразу. Зайди на официальный сайт и скачай в разделе Downloads актуальную версию Пайтона. Установка не займет много времени и кажется мелочью. Но это докажет твою решимость что-то изменить и двигаться дальше. К тому же обучение требует практики. Будет интересно!
Шаг 3: нам нужен план
Будем исходить из того, что твоя цель – стать Junior-разработчиком. Мы не знаем, какую сферу ты выбрал (уверены, что-то крутое). Поэтому просто перечислим то, что тебе желательно знать:
- Синтаксис. Включает понимание основных элементов языка: типы данных, переменные, операторы, условные операторы и циклы.
- Модули и функции . Нужно уметь создавать и применять функции для организации кода и повторного использования, а также работать с модулями.
- Структуры данных. Это про словари, списки, множества и кортежи для хранения и манипулирования данными.
- Объектно-ориентированное программирование. Изучи принципы ООП, такие как объекты, классы, инкапсуляция, полиморфизм и наследование.
- Работа с файлами . Как открывать, читать и записывать данные в файлы, а также работать с разными форматами.
- Обработка исключений . Понимание работы с исключениями и умение обрабатывать ошибки в программе для более надежного выполнения кода.
- Базовые концепции алгоритмов и структур данных. Подразумевает знание основных алгоритмических понятий, таких как сортировка, поиск и обход структур данных.
- Работа с библиотеками. Научись пользоваться стандартными библиотеками Python вроде random, math и datetime, а также популярными сторонними библиотеками: Pandas, NumPy и Flask. Их очень много и это только несколько примеров.
- Чтение и понимание кода. Натренируй способность понимать и анализировать не только свой код, но и других Python-разработчиков . Так ты сможешь присоединиться к уже существующим проектам и вносить в них свой вклад.
- Основы тестирования. Основные принципы тестирования ПО и написания простых тестов для проверки функциональности кода.
Это общий список того, что нужно знать про язык программирования Python для начинающих . Дальше придется углубляться в эти и другие концепции, исследовать новые технологии и инструменты.
Шаг 4: как выучить Python
Пайтон можно учить самостоятельно или на курсах. В интернете очень много теоретической информации. Это одновременно и хорошо, и плохо. Ты можешь просто загрузнуть во всех этих видео и статьях. Потратить время, но так и не продвинуться. А еще, кроме теории, нужна практика и обратная связь.
Для изучения Python лучше всего пойти на курс со структурированным обучением и менторами, которые ответят на твои вопросы и объяснят, как все работает в реальной жизни, а не весь этот сферический код в вакууме.
Кроме курса, можно подключить самостоятельное обучение: видео, подкасты, блоги, гайды и.д. Вот лучшие книги по Python:
- «Learn Python the Hard Way» (Zed A. Shaw) – отличная книга для новичков с практическими задачами.
- «Python Programming: An Introduction to Computer Science» (John Zelle) – основы программирования, структуры данных, алгоритмы и другие важные темы.
- «Automate the Boring Stuff with Python» (Al Sweigart) – твой вариант, если хочешь использовать язык Python для автоматизации.
- «Learning Python» (Mark Lutz) – введение в объектно-ориентированное программирование.
- «Python Crash Course» (Eric Matthes) – покрывает основные концепции языка, включая функции, классы, работу с файлами и синтаксис. В ней много практических проектов и примеров.
Ну и про английский не забывай. Он правда-правда важен.
Шаг 5: высвободи время
Сразу скажем, не получится выучить Python за 2-3 недели и даже нескольких месяцев для этого будет мало. В GoIT курс занимает 10 месяцев, и на учебу нужно выделять примерно 15 часов в неделю. Но зато ты получишь все нужные знания, поддержку менторов и 3 готовых проекта (а без портфолио никуда).
Шаг 6: практикуйся
Практика – ключевой момент в изучении Python для начинающих и примерно 70% успеха. Пиши небольшие программы и проверяй, чтобы они запускались и правильно работали. Решай задачи и пробуй автоматизировать рутину. Напиши игру на Python и приложение, которое парсит информацию из соцсетей, когда у тебя будет достаточно знаний. Или скрипт для автоматического резервного копирования файлов. Вариантов много – найди то, что нравится.
Старайся писать чистый и хорошо организованный код. Используй понятные имена переменных и функций, разделяй код на логические блоки и придерживайся стандартов Пайтона (PEP8, например).
Шаг 7: общайся с единомышленниками
Вокруг Python сформировалось огромное сообщество разработчиков со всего мира. Существует много тематических форумов, где можно получить совет, найти интересную информацию или что-то обсудить. Еще общайся со студентами своего курса для дополнительной мотивации, ходи на вебинары и воркшопы. Поддерживающая среда единомышленников – это важно.
Шаг 8: создай проект
Это может быть приложение, игра, простой искусственный интеллект на Python или инструмент для анализа данных. Чем больше примеров в портфолио – тем лучше. Можно объединиться с другими студентами и написать что-то вместе. Именно поэтому на наших курсах обязательно есть реальные проекты, которые ты сможешь показать будущему работодателю.
Шаг 9: изучай примеры кода
Читай и анализируй код на Python, чтобы понять, как он работает или изучить новые концепции и приемы программирования. Ищи открытые исходные коды проектов и смотри, какие методы и функции используют опытные разработчики для достижения конкретных целей.
Шаг 10: никогда не останавливайся
Python– это язык, который постоянно развивается, поэтому оставайся любопытным и не прекращай изучать его новые инструменты и возможности. Экспериментируй, задавай вопросы, ищи оптимальные решения и становись крутым программистом.
Теперь ты знаешь про Пайтон чуть больше. А в следующей статье поговорим о том, чем занимаются разработчики и какие навыки им нужны. Не бойся начинать обучение, мы в тебя верим!
С чего начать учить Python

Анна Агабекян Эксперт в Frontend, Data Science. Ментор, автор курсов в SkillFactory.
Python — один из самых популярных языков программирования. На нем разрабатывают алгоритмы машинного обучения, собирают и анализируют данные о клиентах в крупных компаниях, пишут игры. Вместе с Python-разработчицей Анной Агабекян рассказываем все, что нужно знать на старте новичку.

Освойте профессию
«Python-разработчик»
Где используется язык программирования Python?
По замыслу создателя языка Гвидо ван Россума, Python должен был повысить продуктивность разработчиков, пишущих на языках C и C++. Однако благодаря своей простоте язык быстро приобрел популярность в среде программистов и вышел за рамки своего первоначального назначения. Чаще всего язык применяется в веб-разработке, анализе больших данных и машинном обучении. Кроме того, на Python пишут сценарии для компьютерных игр (например World of Tanks и EVE Online). В 2023 году в рейтинге TIOBE, который формируется на основе поисковых запросов, включающих упоминание языков, Python занимает первое место среди самых востребованных языков, обогнав Java и C.
Python-разработчик
Освойте Python, самый популярный язык программирования
3 075 ₽/мес 6 150 ₽/мес

У языка есть собственный свод правил, так называемый «дзен Python», который написал американский разработчик Тим Петерс. Одно из правил звучит так: «Должен существовать один — и желательно только один — очевидный способ сделать это». Это правило отлично описывает назначение языка: с его помощью можно один раз решить задачу, а потом просто автоматизировать ее.
Как изучать Python?
Синтаксис
- Один из самых популярных — Computer Programming for Beginners: Fundamentals of Programming Terms and Concepts Натана Кларка. Книга написана простым языком — она поможет разобраться в терминологии, понять, что такое состояния, операторы и функции, чем объектно-ориентированное программирование отличается от функционального.
- На русском языке можно обратить внимание на книгу преподавателя и разработчика Майкла Доусона «Программируем на Python» — книга хороша тем, что в ней не только теория, но и реальные кейсы, показывающие, как применять полученные знания на практике. После каждой главы Доусон поясняет тему на примере простой игры и предлагает задачи для закрепления материала.
- Подробнее о функциях (часть приложения, выполняющая определенную задачу) можно узнать из книги Марка Луца «Изучаем Python».
- Для тех, кто уже усвоил основы языка, но еще не умеет использовать все его возможности, будет полезной книга Лучано Рамальо «Python: к вершинам мастерства». Автор рассказывает о библиотеках и средствах языка, а также демонстрирует приемы, с помощью которых код можно сделать короче и понятнее.

Станьте разработчиком на Python и решайте самые разные задачи: от написания кода до автоматизации процессов
Подборка полезных видеоуроков на YouTube:
- Python для начинающих — короткие видеоуроки, посвященные основам языка;
- Видеоуроки Python — среди прочего тут есть, например, ролики, как редактировать видео на Python или работать с Википедией с помощью этого языка;
- Clever Programmer — видеоуроки по программированию, советы и рекомендации, как прокачать свои навыки;
- Telusko — более 100 роликов, посвященных Python: от начального до продвинутого уровня.
Python имеет несколько направлений, поэтому стеки и технологии, которые нужно знать новичку, зависят от специализации. Например, для начинающего веб-разработчика необходимо прежде всего знание фреймворков Django и Flask. Для дата-аналитики или Data Science нужно уметь работать с библиотеками, предназначенными для обработки и анализа данных: NumPy, Pandas , Sklearn, TensorFlow. Для разработки десктоп-приложений в первую очередь важно знать библиотеку Tkinter и фреймворк PyQt5, для мобильной разработки — уметь работать в среде Kivy, для разработки игр — знать набор библиотек Pygame.
Настройка среды разработки
Изучив синтаксис, можно начать писать код. Для этого скачайте и установите среду разработки — IDE. Она объединяет несколько инструментов, предназначенных для разработки: редактор кода, инструменты для сборки, выполнения и отладки, а также систему контроля версий.
Читайте также Выбираем IDE: средства для программирования на Python
Самый базовый редактор — IDLE. Гвидо ван Россум назвал его в честь одного из актеров «Монти Пайтона» — Эрика Айдла. C помощью этой среды разработки можно просматривать, редактировать, запускать и отлаживать программы на Python. IDLE поставляется вместе с дистрибутивом. Скачайте и запустите редактор и в открывшемся окне можете начинать писать код.
Практика: сервисы и сайты
Решайте задачи. Их можно взять, например, на проекте Эйлера — это некоммерческий онлайн-проект, названный в честь знаменитого швейцарского математика Леонарда Эйлера. Проект (есть на русском и английском языке) объединяет сотни тысяч любителей математики и программирования — участники могут выбрать одну из задач и решить ее с помощью любого известного им языка программирования, в том числе с помощью Python. После того как участник получил правильный ответ, он может обсудить и сравнить с другими пользователями найденные им алгоритмы и способы решения.
Сайты, где еще можно порешать задачи Python:
Участвуйте в играх и квестах: например, chekio — это игра с заданиями разных уровней сложности и встроенной средой программирования или квест python challenge, в котором надо составить алгоритм, чтобы перейти к следующему шагу. Поискать задачки и упражнения также можно в соответствующем хабе на Хабре.
Напишите собственные несложные программы. Например, настроить автоматическую сортировку файлов по папкам, создать собственный сервер или написать игру на Python.
Читайте также Я освоила Python на карантине и теперь работаю в консалтинге
Что дальше?
Python-разработчик — востребованная профессия с высокими зарплатами. Свои первые заказы можно искать на онлайн-биржах, например fl.ru, weblancer.net, workzilla, или в Telegram-каналах с удаленной работой: Finder.vc, HomeWork и других.
Начинающий Python-разработчик получает от 80 тыс. рублей, а лид может рассчитывать на зарплату около 400 тыс. рублей.
От джуниора, помимо знания синтаксиса и основных библиотек, работодатели ждут умения быстро осваивать новый материал, вникать в суть задания, понимать требования и быть готовым к рутинным задачам.
Карьерный рост зависит от компаний, в которых работает специалист, от его личных особенностей, от наличия опытных коллег, у которых можно учиться и от владения soft skills.
Тестировщик-автоматизатор
Как ворваться в IT, даже если вы не умеете программировать? Стать тестировщиком. Для старта достаточно базовых знаний ПК. А начать работать можно уже через 4 месяца обучения.
Старт в Python. Опытные разработчики о том, с чего начать учить новый язык программирования

Python известен своим приятным синтаксисом и простотой. Говорят, выучить его может каждый. Но с чего начать и как выстроить обучение, чтобы не забросить его на половине пути? Web Academy расспросила об этом программистов, которые не первый год работают с Python. Они рассказали и о своих первых шагах и о том, как понять, что уровень новичка пройден и можно смело подавать резюме в компанию мечты.

Антон Мазун, Python developer в GeeksForLess Inc (тренер Web Academy)
Кто может изучать Python
Python, как и любой другой язык программирования, может выучить любой человек. Многие думают, что нужно специальное образование. Но на самом деле это не совсем так. Все дело в практике и желании обучаться.
Понятие «Python как язык программирования» стоит рассматривать с точки зрения области его применения, а не самого языка. Язык программирования — это просто инструмент. Если вы хотите работать в data science, то конечно же, вам понадобится ещё очень мощный математический аппарат. А если же работать как back-end developer, то может хватить и школьной программы.
С чего Python начал учить я
Очень долго пытался выучить Python по видеоурокам, но понял, что все тщетно. Тут же параллельно сел читать книги и осознал, что мне не хватает какого-то интереса, нет конкретной цели — того, что я хочу получить, зная Python. Опять-таки, как я уже говорил, Python — это инструмент, своего рода удочка. И вы же на одну и ту же удочку всегда можете поймать разную рыбу. В моем случаи рыбой был интернет-магазин. Стало интересно, как это все работает — вот тогда начал уже искать в интернете конкретно то, что мне нужно. И так шаг за шагом я получил очень простой, но свой интернет-магазин.
Поэтому всем рекомендую выбрать для себя понравившуюся область и просто начать понемногу писать проект. В этом деле главное практика. Спустя какое-то время я вернулся к прочтению книг. Автор — Марк Лутц . Всем рекомендую.
Ближайший курс по направлению: Python с нуля
С чего начинать учить Python сегодня
Для начала нужно выбрать направление, в котором хотите развиваться. Затем — посмотреть, какие инструменты вам для этого нужны.
Вот несколько полезных ссылок от меня:
- документация Python ;
- задачник ;
- практикум ;
- SoloLearn — приложение для изучения.
Python лучше учить на курсах или самостоятельно
Чтобы не путаться в тонне информации из интернета, я рекомендую пойти на курсы. Во всяком случае, там с вами будет тренер, у которого всегда можно что-то спросить. Но нужно понимать одну простую вещь: просто прослушав 100 часов лекций, работу мечты вы не получите. Курс нужен для того, чтобы структурировать ваш процесс обучения и получить ответы на вопросы от более опытных людей в этой сфере. Курсы — это только 20%, остальные 80% — это правильная обработка первых 20%.
Думаю, все-таки лучше совмещать курсы с самостоятельным обучением, потому что так у вас будет больше вопросов и не только теме курса. И логично предположить, что если больше есть больше вопросов, то будет больше и ответов.
Как понять, что от изучения Python уже можно переходить к работе
Если вы уже не боитесь таких слов как декоратор, генератор, ООП, сможете рассказать, что такое полиморфизм, инкапсуляция, знаете правильный ответ True+True и понимаете, почему так происходит — можно и работать. Но это те знания, которые нужны для работы с инструментом Python. А дальше все зависит от сферы, в которую пойдете.
Как не быть в Python вечным новичком
Старайтесь больше узнавать новинок в сфере. По возможности — переходите на другие проекты. Чем больше проектов вы попробуете, тем круче для новичка. Увидите разные подходы, структуры, архитектуры и технологии.

Максим Орлюк, Software engineer в Reface (тренер Web Academy)
Кто может изучать Python
Кто угодно, кому интересен Python, может его учить. Я в принципе рекомендую начинать двигаться в направлении изучения программирования только в том случае, если это интересно. Потому что эта сфера специфична. И если нет «живого» интереса, вряд ли что-то получится.
Начинать учить можно абсолютно с нуля. Потому что Python сам по себе прост, в нем есть все конструкции, которые пригодятся в будущем. И нет особой нужды в каких-то специальных знаниях. Если разбираетесь на базовом уровне в алгоритмике, например, знаете, что такое оператор if, что такое цикл, будет просто отлично. Но в целом — ничего такого необязательно на старте.
С чего Python начал учить я
Я начал с книги, суть которой сводилась к тому, чтобы учить Python , разрабатывая игры. Но это были не те игры на компьютерах и смартфонах, которые мы знаем сегодня. Это были консольные игры вроде «Крестиков-ноликов». В этом формате я учил основы.
Также взял курс, но там были только лекции, а мне хотелось получать и домашние задания. Позже еще проходил курс от CyberBionic Systematics «Python Advanced». На нем разбирали уже более сложные темы, но навыков я получил много.
С чего начинать учить Python сегодня
Сейчас сфера онлайн-образования очень развита: есть курсы с преподавателем и без, есть много статей на том же « Хабрахабр » или Medium . Что касается онлайн-платформ, рекомендую Coursera или Udemy . Можно выбрать любую и начинать.
Python лучше учить на курсах или самостоятельно
Даже без привязки к какому-то конкретному курсу, я рекомендую начинать с них. Потому что в идеале всегда лучше учить что-то новое с человеком, у которого есть опыт. Это может быть в формате курсов, может быть формат менторства. Все потому, что сейчас в информационном поле, даже в сфере онлайн-образования, слишком много всего. Сферы переполнены, ведь есть уйма тем и инструментов, с которыми можно и нужно ознакомиться. Но это чревато последствиями.
В свое время я столкнулся с проблемой: я не понимал, куда двигаться, так как сложно понять, что важного вычленить для себя, сосредоточиться и учить.
Выучить все сразу не получится — это очевидно. И из-за этого может возникать впечатление на первых порах, что как много ты не учил бы, знаешь все равно очень мало. А пласт знаний, который еще предстоит освоить, огромный. И найти путь, по которому двигаться дальше, чтобы обучение шло как по маслу, непросто. Но опытный человек, если будет рядом, поможет с этим разобраться.
Как понять, что от изучения Python уже можно переходить к работе
Важно понимать, что для работы нужен не только Python. Я не видел ни единой вакансии или работы, где было бы достаточно знать только лишь этот язык программирования. Обычно в требованиях хотя бы один или два фреймворка: Django, асинхронный фреймворк вроде aiohttp и пр. Также необходимо уметь работать с Git – это система контроля версий. А еще — иметь базовые понятия о том, как работает проект. Последнее необязательно, но крайне желательно.
Круто, если с первым резюме вы покажете свои pet-проекты. Это проект, который вы делаете для себя или, чтобы освоить что-то новое. Например, может быть pet-проект с использованием того или иного фреймворка, который даст понимание, как его использовать в боевых условиях, а не знать об этом только в теории. Это может быть телеграмм-бот, который будет присылать вам прогноз погоды. Или сервис, который будет присылать раз в день какую-то песню. Pet-проекты, по большому счету, могут не иметь какой-то пользы с точки зрения юазбилити. Но они показывают, что вы умеете работать с теми или иными инструментами.
Чтобы подаваться на вакансию, нужны отличные знания Python и знание процентов 75-80 стека технологий, с которыми будете работать. Не нужно знать все, но большинство — обязательно.
Я бы не рекомендовал начинать с фриланса. Во-первых, будем смотреть правде в глаза, вряд ли найдутся люди, которые дадут проект человеку без какого-либо опыта. Найти заказы будет трудно. Ведь если нет опыта, как вы будете знать, что вам нужно делать с заданием?
Работа в компании дает много преимуществ, помимо самого факта работы: опыт работы в команде, Code Review (старшие коллеги будут смотреть код), вы узнаете, что и как реализовано в проекте. Все это полезно на любом этапе карьеры, но на старте — особенно. Ведь с таким опытом со временем вы сможете решать проблемы, которые видели в компании, самостоятельно.
Как не быть в Python вечным новичком
На самом деле, изучением программирования в целом должна руководить заинтересованность: что и как работает, почему именно так, а не иначе, что используют для решения тех или иных проблем и т.д. В таком случае, дальнейшее продвижение в сфере будет органичным.
Например, я, даже когда работал, читал статьи на «Хабре», где были темы по Python: о нововведениях, оптимизации, улучшению и пр.
Органично и правильно — это когда вы познаете Python и все, что с ним связано, не потому, что нужно, а потому, что интересно.
И вопрос «Как не остаться новичком в знании Python навечно?» отпадает, как только вы получаете первую работу. На проекте будет много фреймворков, изучая которые вы перерастете уровень новичка.
Изучаем Python за 6 месяцев. Подробный план обучения

Простой и красивый синтаксис, множество библиотек под самые разные задачи и большое комьюнити делают Python одним из самых популярных языков программирования на сегодняшний день, который активно используется в data science и машинном обучении, веб-разработке и других областях программирования.
Когда я начал изучать питон, у меня возникло несколько вопросов:
- какие темы необходимо изучить;
- насколько это будет сложно;
- сколько это займёт времени;
- где найти хорошие источники информации?
Вкратце, на мой взгляд, необходимо знать следующие темы:

- стандартные типы данных;
- условия;
- циклы;
- функциональное программирование;
- работа с файлами;
- регулярные выражения;
- основы алгоритмов;
- объектно-ориентированное программирование (ООП);
- конкурентность;
- тестирование кода;
- полезные библиотеки типа itertools, collections и тому подобное.
Если вы прежде не занимались программированием, то поначалу будет сложновато, но потом мозги «настроятся» в нужное русло и будет нормально.
На этом преамбула окончена и переходим непосредственно к плану обучения.
Основы (3 месяца)
Предлагаю начать с прочтения книги Билла Любановича «Простой Python. Современный стиль программирования» (второе издание) чтобы иметь базовое представление о том, что такое программирование и как выглядит код на Python.

Далее переходим к курсам на платформе Stepik:
- «Поколение Python: курс для начинающих»;
- «Поколение Python: курс для продвинутых».
Очень хорошие курсы с морем задач, которые вас познакомят с основными типами данных, условиями, циклами, функциями и работой с файлами.
После следует приступить к плейлисту декораторы канала luchanos и для практики пройти на Stepik «Декораторы в Python»: часть 1 и часть 2.
Ещё по желанию можно пройти регулярные выражения: курс, учебник и практика.
Введение в алгоритмы (2 недели)
Вообще, о том, как шатать leetcode и проходить алгоритмические фиды на собесах – дело отдельной статьи, поэтому пока обойдёмся основами основ и здесь на сцену вступает небезызвестная книга Адитьи Бхаргавы «Грокаем алгоритмы».

Автору удалось сделать очень дружелюбное к новичкам пособие, из которого вы узнаете про алгоритмы поиска и сортировки, что такое рекурсия, динамическое программирование и многое другое – однозначно рекомендасьон.
Объектно-ориентированное программирование (3 недели)
Есть 2 хороших курса:
- плейлист Python OOP канала JimShapedCoding;
- курс Python ООП Олега Молчанова – лучшее объяснение из всех, что я видел.
Отсюда вы узнаете об устройстве объектной модели в Python, какие существуют парадигмы ООП, для чего применяются дескрипторы и многое другое.
Также параллельно с курсами было бы хорошо углубляться в пройденные темы и для этого есть неплохая книга «Object-oriented Python», Irv Kalb.

В отличие от курсов, в ней также уделяется внимание магическим методам и некоторым другим аспектам. Писать игры необязательно, как это делается в книге, но ознакомиться с ней стоит. В конце переходим к SOLID и по желанию к паттернам (плейлист и сайт).
Для практики переходим на codewars OOP: когда получится решать 5 кату, то можно двигаться дальше.
Конкурентность (2 недели и больше)
Для обеспечения быстрой и эффективной работы приложений, а также для обработки большого количества данных необходимо уметь пользоваться вычислительными ресурсами максимально эффективно, поэтому знания об основах конкурентности даже на начальном этапе будут большим преимуществом.
Основы многопроцессорности и многопоточности:
- Конкурентность в Python канала luchanos.
По асинхронному программированию есть 2 хороших плейлиста:
- Асинхронность в Python от Олега Молчанова;
- import asyncio: Learn Python’s Asyncio канала EdgeDB.
Параллельно с курсами лучше пользоваться книгой Мэттью Флауэра «Asyncio и конкурентное программирование на Python».

Отсюда вы узнаете о выполнении конкурентных запросов к базам данных, сочетании многопоточной обработки с asyncio, управлении подпроцессами и многом другом.
Тестирование кода (1 неделя)
Чтобы удостовериться в том, что написанный вами код выполняет именно тот функционал, который вы от него ожидаете, его необходимо уметь покрывать тестами хотя бы на базовом уровне.
Поэтому предлагаю перейти к плейлисту Pytest тестирование канала luchanos.
Ещё есть неплохая книга «Python Testing with pytest» (second edition), Brian Okken, с которой также желательно ознакомиться.

В качестве альтернативы Pytest есть неплохой плейлист Unittest in python канала Paris Nakita Kejser и книга Владимира Хорикова «Принципы юнит-тестирования» (примеры кода на C#).

Больше продвинутых тем (3 недели)
В принципе, может показаться, что всего вышеперечисленного уже достаточно, но для лучшего понимания устройства функций и классов, как работает сборщик мусора, в чем отличие итераторов от генераторов, как пользоваться библиотеками типа itertools, collections и т.д., ещё необходимо немного углубиться, и в этом нам помогут 2 книги:
- «Python – к вершинам мастерства» (второе издание), Лусиану Рамальо.

- «Dead simple Python», Jason C. Mcdonald.

Книги плюс-минус об одном и том же, однако в последней некоторые темы рассматриваются на немного более поверхностном уровне. За счёт этого она читается легче.
Какую из них выбрать? Лучше читать наиболее непонятные темы из обеих книг.
Best practices (1 неделя и больше)
После того, как вы изучите основные конструкции и возможности языка, не будет лишним и узнать об их эффективном использовании, и для этой цели есть хорошая книга «Effective Python. 90 specific ways to write better Python» (second edition), Brett Slatkin.

Солянка из лучших практик, показывающая как сделать код более лаконичным и эффективным с «питоновской» точки зрения.
Что в итоге
Занимаясь по 10 часов в день, на изучение всех вышеперечисленных тем уйдёт около полугода – это цифры из собственного опыта, так что можно их брать в качестве начального ориентира, однако, возможно, у вас будут другие результаты.
Что дальше
Дальше можно смело двигаться в выбранное вами направление: будь то веб-разработка с Django и Flask или же машинное обучение с Numpy, Pandas и Pytorch – полученных знаний хватит за глаза.
Дополнительные источники
- «Знакомство с Python», Дэн Бейдер;
- «Изучаем Python» (третье издание), Эрик Мэтиз;
- «Изучаем Python» (пятое издание, 2 тома), Марк Лутц;
- «Python Workout: 50 ten-minute exercises», Reuven M. Lerner;
- «Изучаем программирование на Python» (второе издание), Пол Бэрри;
- «Начинаем программировать на Python» (пятое издание), Тони Гэддис;
- «Автоматизация рутинных задач с помощью Python» (второе издание), Эл Свейгарт;
- Курс по Python от Google;
- Хендбук по Python – курс от Яндекса;
- Python Full Course на канале Bro Code;
- Питонтьютор – небольшой курс по Python;
- Интерактивное руководство по Python от DataCamp;
- Python tutorials – ещё один неплохой курс по питону;
- Python for Everybody – курс от университета Мичигана;
- Изучаем Python – курс для начинающих от freeCodeCamp;
- Добрый, добрый Python – обучающий курс от Сергея Балакирева;
- Инди-курс программирования на Python – курс от Артёма Егорова;
- Алгоритмы и структуры данных на Python 3 – лекции Тимофея Хирьянова;
- Программирование на Python – курс начального уровня от института биоинформатики.
- «Секреты Python Pro», Дейн Хиллард;
- «Using Asyncio in Python», Caleb Hattingh;
- «Beyond the Basic Stuff with Python», Al Sweigart;
- «Python. Книга рецептов», Дэвид Бизли, Брайан К. Джонс;
- «Профессиональная разработка на Python», Мэттью Уилкс;
- «Паттерны разработки на Python», Гарри Персиваль, Боб Грегори;
- «Чистый Python. Тонкости программирования для профи», Дэн Бейдер;
- «Python Object-Oriented Programming» (fourth edition), Steven F. Lott, Dusty Phillips;
- Intermediate Python – продолжение начального курса от freeCodeCamp;
- Python: основы и применение – курс среднего уровня от института биоинформатики;
- Программирование на Python – более продвинутый курс от Computer Science Center;
- Параллельное программирование – ещё один видеокурс от Computer Science Center.
Ещё несколько полезных ссылок:
- Документация по Python;
- Python Tutor – отладчик кода;
- Real Python – куча статей по Python;
- PEP 8 – руководство по стилю кода на Python;
- The Elements of Python Style – ещё одно руководство по стилю кода;
- Stack Overflow – известный сервис вопросов и ответов по программированию;
- CheckiO, LeetCode, Codewars, HackerRank – сайты с упражнениями для практики;
- PyLounge, Андрей Иванов | Python, Диджитализируй!, egoroff_channel, selfedu, Amigoscode, Python Programmer – полезные каналы по Python.
- python
- пайтон
- питон
- программирование
- план обучения
- разработка веб-сайтов
- bigdata
- data science
- машинное обучение
- карьера в it-индустрии
- Веб-разработка
- Python
- Программирование
- Машинное обучение
- Учебный процесс в IT
