Ультимативный Roadmap для Python-разработчика в 2023 году + источники знаний

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Python - один из самых популярных языков программирования в мире. Статистика современного рынка свидетельствует о том, что Python желаемый навык, и что его использование широко распространено в различных сферах, таких как наука, инженерия, бизнес, аналитика данных и многих других.

Рисунок от mdjrn
Рисунок от mdjrn

Если вы уже определились с выбором Python в качестве основного языка программирования, рекомендуется обратить внимание на мой roadmap, который позволит лучше ориентироваться в выборе учебных материалов и понимать, как развиваться в этой сфере.

В данной статье мы рассмотрим roadmap по изучению Python на 2023 год, который специально составлен для помощи начинающим и опытным программистам. Вы также найдете необходимые ссылки на ресурсы для улучшения своего знания в Python.

Основы Python:

  • Типы данных и структуры (целые числа, дробные числа, строки, списки, кортежи, словари, множества)

  • Переменные и выражения

  • Условные операторы (if / else)

  • Циклы (for / while)

  • Функции

  • Ввод / вывод (print, input)

    Мощный и хороший курс по базе Python: https://stepik.org/course/67/promo

    Туториал по Питону от создателей: https://docs.python.org/3/tutorial/index.html#the-python-tutorial

    База от Тимофея Хирьянова: https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0

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

Объектно-ориентированное программирование:

  • Классы и объекты

  • Наследование

  • Полиморфизм

  • Инкапсуляция

  • Абстракция

  • Переменные класса и объекта

    Введение в ООП: https://proglib.io/p/python-oop

    Курс на Youtube про ООП: https://youtube.com/playlist?list=PLNi5HdK6QEmX9fxp3_IBFx1O5tiTmKlYm

Функциональное программирование:

  • Чистые функции

  • Функции высшего порядка

  • Рекурсия

  • Лямбда-выражения

  • Map, filter, reduce, zip

    Про функциональное программирования на канале Тимофея Хирьянова: https://www.youtube.com/watch?v=3Dmi4b8MkMM

    Про функциональное программирование подробнее: https://docs.python.org/3/howto/functional.html

    Про Map, filter, reduce, zip: https://youtu.be/UDthAJmD3EQ

Модули и библиотеки:

  • Импортирование модулей

  • Создание модулей

  • Использование сторонних пакетов (pip)

  • Написание документации (docstrings)

    Про модули с документации: https://docs.python.org/3/tutorial/modules.html

    Интересные библиотеки python: https://habr.com/ru/company/edison/blog/474622/

Работа с файлами:

  • Открытие и чтение файлов

  • Запись в файлы

  • Закрытие файлов

  • Работа с CSV / JSON / XML-файлами

    Про работу с файлами: https://youtu.be/oRr_bEXJbV0

    CSV: https://youtu.be/Pp2sMniG0FU

Разработка графических интерфейсов (GUI):

  • Tkinter

  • PyQt

  • PyGTK

  • wxPython

    Плейлист разработок GUI на PyQt:

    https://www.youtube.com/playlist?list=PL6plRXMq5RADiWZuyZvVYnhncVixVKgBN

    https://youtube.com/playlist?list=PLKl9v2TQvIkq4i_hZwZ1PmobxJSkIGwBf

Регулярные выражения:

  • Поиск шаблонов

  • Метасимволы

  • Квантификаторы

  • Группы

  • Подстановка

    Плейлист про регулярные выражения на Youtube: https://youtube.com/playlist?list=PLmSBSL0-aSgkT_l0K0pXdfIKEPJyOZl7c

Тестирование:

  • Модульное тестирование (unittest)

  • Интеграционное тестирование

  • Разработка через тестирование (TDD)

  • Отладка

    Про unittest: https://www.youtube.com/watch?v=YD7aYJh3k-w

    Хороший гайд на Хабре: https://habr.com/ru/company/otus/blog/433358/

Управление версиями в GIT:

  • Рабочий процесс и управление версиями в системе Git

  • Ветвление и объединение

  • Запросы на слияние и обзоры кода

  • Управление конфликтами слияния

    Полный гайд по Git: https://youtu.be/SEvR78OhGtw

    Про гит подробнее: https://git-scm.com/book/ru/v2/

    Cтатья на Хабре про Git: https://habr.com/ru/company/intel/blog/344962/

Оптимизация:

  • Профилирование

  • Управление памятью

  • Анализ времени выполнения

  • Рефакторинг кода

    Статья про оптимизацию кода: https://habr.com/ru/post/551150/

    На Youtube про рефакторинг кода: https://youtu.be/ejXxWxt3xOk

    Управление памятью: https://youtu.be/D0vbuIDOV4c

Параллельное выполнение:

  • Многопоточность

  • Многопроцессорность

  • Асинхронное программирование (asyncio)

    Про многопоточность и многопроцессорность: https://youtube.com/playlist?list=PL6plRXMq5RAAb9gwGqmgAoA-KIr-7CMuz

    Асинхронное программирование: https://youtu.be/_4QY1nGFRY8

Управление базами данных:

  • SQL

  • Реляционные базы данных (MySQL, PostgreSQL)

  • Нереляционные базы данных (MongoDB)

  • Объектно-реляционное отображение (ORM)

    Курс по базам данных от VK team на Youtube:

    https://youtube.com/playlist?list=PLrCZzMib1e9oOFQbuOgjKYbRUoA8zGKnj

    Мой roadmap по SQL: https://habr.com/ru/post/725414/

Сетевое программирование:

  • Программирование сокетов

  • Подключения TCP / UDP

  • Отправка / получение электронной почты (smtplib, imaplib)

    Про сокеты и т.п: https://www.youtube.com/watch?v=UohnrnZZ0w0

    Про TCP и UDP: https://habr.com/ru/post/711578/

Развертывание:

  • Виртуальные среды (venv)

  • Распространение пакетов (wheel)

  • Непрерывная интеграция / непрерывное развертывание (CI / CD)

  • Docker

    Про venv: https://youtu.be/OvocRhD9WSA

    Docker: https://youtu.be/n9uCgUzfeRQ

Разное:

  • Интерфейс командной строки (Click)

  • Работа с API-интерфейсами

  • Сериализация / десериализация данных (pickle, json, yaml)

    Pickle: https://docs.python.org/3/library/pickle.html

Веб-разработка(опционально):

  • HTML / CSS

  • Запросы HTTP

  • Flask / Django

  • REST API

  • Веб-скрапинг (BeautifulSoup)

    Django: https://youtube.com/playlist?list=PLA0M1Bcd0w8xO_39zZll2u1lz_Q-Mwn1F

    HTML & CSS: https://youtube.com/playlist?list=PLMB6wLyKp7lV9YoWTMCztq-KXYhYPB09K

    REST API: https://youtu.be/v7zq1DntN_Y

Анализ данных(опционально):

  • NumPy / SciPy

  • Pandas

  • Matplotlib / Seaborn

  • Обработка естественного языка (NLTK)

    Введение в Pandas: https://youtu.be/wjDns1IYcPg

    NumPy: https://youtu.be/eDuuKvIWzew

    Matplotlib: https://youtu.be/clDQPyQJ-hc

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

Структуры данных и алгоритмы:

  • Базовые структуры данных (стеки, очереди, связные списки, деревья, графы)

  • Поиск и сортировка алгоритмов

  • Анализ сложности (нотация O большое)

  • Динамическое программирование

  • Рекурсия

    Структуры данных и алгоритмы https://youtu.be/S2I0covkyMc

    Рекурсия: https://youtu.be/NOaSY5pJmyc

Решение проблем и критическое мышление:

  • Анализирование проблем и требований

  • Разбиение проблем на более мелкие части

  • Генерация творческих решений

Жизненный цикл разработки программного обеспечения:

  • Анализ требований

  • Проектирование архитектуры программного обеспечения

  • Реализация кода

  • Тестирование и отладка кода

  • Развертывание и поддержка

  • Методологии Agile-разработки (например, Scrum)

    Статья на Хабре: https://habr.com/ru/company/dcmiran/blog/521718/

    Agile: https://habr.com/ru/company/otus/blog/710034/

Качество кода:

  • Обзоры кода и лучшие практики чистого кодирования

  • Справочники по стилю кодирования (например, PEP8)

  • Тестирование и разработка через тестирование

  • Рефакторинг кода для улучшения качества и обслуживаемости

    PEP8: https://pep8.org/

Коммуникация и сотрудничество:

  • Написание четкой и краткой документации

  • Средства совместной работы, такие как Jira

  • Эффективное общение с коллегами и заинтересованными сторонами

  • Работа в команде с использованием систем управления версиями, таких как Git

    Кратко про документацию: https://youtu.be/bFVXMc4FWQc

    Краткий курс по Jira: https://youtu.be/wy94sK_PzWw

И самое главное - непрерывное обучение:

  • Дополнительное образование, такое как статьи, книги и онлайн-курсы,

  • Слежение за тенденциями в индустрии и обновлениями в Python и связанных технологиях,

  • Изучение лучших практик и новых подходов к разработке.

Хорошая книга по Python - "Изучаем Python" от Марка Лутца

Больше Питона:

https://stepik.org/course/58852/syllabus

https://stepik.org/course/68343/syllabus

Больше практики по Python:

  1. HackerRank (https://www.hackerrank.com/)

  2. LeetCode (https://leetcode.com/)

  3. Codewars (https://www.codewars.com/)

Таким получился Roadmap. Спасибо за твое доверие, если ты будешь следовать по нему.

Так же можете ознакомиться с моим roadmap по SQL: https://habr.com/ru/post/725414/

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Насколько хорошо вы знаете Python?
0% Только начинаю учиться 0
0% Знаю на уровне синтаксиса 0
42.86% Знаю Python на хорошем уровне, но не работаю с ним 3
57.14% Знаю Python и применяю его на работе 4
Проголосовали 7 пользователей. Воздержавшихся нет.
Источник: https://habr.com/ru/post/725930/


Интересные статьи

Интересные статьи

Всем привет! В этом релизе SiteAnalyzer мы постарались добавить как можно больше ранее озвученных пожеланий пользователей, при этом было реализовано более 20 новых возможностей и улучшений, а также и...
Несмотря на то, что MariaDB является форком базы данных MySQL Oracle, они разошлись настолько, что сейчас сильно отличаются друг от друга. Такая система управления базами данных, как MySQL, является п...
Праздничные дни для Додо Пиццы — настоящий хайлоад. К ним мы готовимся заранее и заводим специальные правила.Самое жаркое время — в декабре: много корпоративов, заказы становятся больше, прибыль выше...
Собеседование — одна из наиболее стрессовых тем для разработчиков, но только первые двадцать раз :) Привет! Меня зовут Руслан, я один из наставников курса «Мидл Python-разработчик» в Я...
В 2019 году на рынке десктопных процессоров стало интересно. Много лет здесь доминировала Intel, но AMD выпустила Ryzen 7 — прямых конкурентов моделям Intel i7. Потом серия ударов Ryzen 3 и 5...