Python: дорожная карта 2023 года, чтобы освоить все

Питон может все. Все, включая науку о данных, машинное обучение, глубокое обучение, НЛП, обработку изображений и видео для обнаружения и сегментации, игры, Android, веб-приложения, настольный графический интерфейс, вы просто называете это.
Дело в том, что если вы хотите узнать все это, это может быть немного ошеломляющим. К концу этой статьи вы увидите, как вы можете овладеть всеми этими темами.
Дорожная карта Python 2023:

Эта карта ума суммирует все библиотеки (и основные концепции Python), которые вы можете изучить, чтобы освоить все это. Это не очень долгий срок. Вы должны быть в состоянии освоить все эти темы за более короткий промежуток времени, чем вы думаете, потому что python позаботится о большей части кода для вас благодаря своей ОГРОМНОЙ поддержке библиотек.

1. Начнем с основ Python:
- Узнайте все о переменных и работе со строками. Это важно для любой темы, которая появится позже.
- Условные операторы и как принимать программные решения
- Циклы и сосредоточьтесь на расширенном синтаксисе циклов for, таком как zip и enumerate. Это очень полезно, если вы хотите кодировать в стиле «Pythonic».
- Вы ДОЛЖНЫ освоить структуры данных, такие как списки и словари, менее важными структурами будут кортежи и наборы .
- Узнайте все о функциях и о том, как возвращать из них значения. Убедитесь, что вы понимаете области данных и глобальные переменные
- Изучите расширенные встроенные функции, такие как понимание списков, карты и лямбда-функции.
- Исключения необходимы для написания кода, максимально защищенного от сбоев.
- Управление каталогами , которое используется для создания деревьев каталогов для файлов вашего проекта. И это очень полезно для автоматизации задач, навигации по файлам и т. д. Прочтите об этом.
В мире современного программного обеспечения нельзя игнорировать важность поддерживаемого легко расширяемого кода.
Итак, вот что вам нужно знать:
- Классы и как создавать методы класса , переменные класса и инициализатор класса
- Object , который представляет собой не что иное, как класс в игре
- Наследование
- Супер ключевое слово
- Полиморфизм
- Инкапсуляция
- Если вы действительно хотите пройти лишнюю милю, ознакомьтесь с шаблонами проектирования.
- Это на самом деле не связано с ООП, но декораторы , которые являются специфическими методами Python, могут быть очень полезны при работе с большим количеством внешних библиотек, таких как Unittest. Который очень популярен для тестирования вашего программного обеспечения.
Следующие форматы файлов необходимы для работы. И Python — лучший язык программирования для редактирования, написания сценариев и автоматизации всего, что связано с этими форматами файлов.
- .текст
- .csv
- .json
- .zip
Необходимо, чтобы математические вычисления были быстрыми, а python имеет репутацию медленного по сравнению с C/C++.
Ну, это не совсем так. В Python мы используем библиотеку под названием Numpy для выполнения почти любой сложной математической операции. Будь то умножение матриц, поиск элемента в массиве или поиск элементов Max/Min.
Библиотека огромна, но вот несколько основных моментов того, что вам нужно изучить, чтобы начать:
- Одиночные массивы
- Многомерные массивы
- numpy функции поиска
- numpy max/min функции
- функции сортировки numpy
- преобразование string_to_array и наоборот
- Расколоть
- Рандомизированные массивы
- Изменение формы массивов
- Инвертирование массива
- Методы умножения массивов
Pandas — это библиотека для работы с любыми табличными данными (такими как файлы excel, csv и т. д.).
Представьте, что вы можете автоматизировать все, что может сделать Excel, и добавить это в огромный огромный мир Python. Именно для этого и предназначена эта библиотека. Вот несколько основных моментов, с чего вам нужно начать:
- Панды данных
- Чтение CSV-файлов
- Фильтры данных
- Манипуляции с колонками
- Манипуляции со строками
- Переименование элементов
- Серии
- Внутренние функции построения графиков
- Создание CSV-файлов
Было бы дико утверждать, что Python может воспроизводить все те приложения для фото/видео, которые вы видите вокруг. Потому что Python в сочетании с OpenCV — гигантский монстр, когда дело доходит до манипулирования медиафайлами.
Вот несколько основных моментов того, с чего необходимо начать:
- Понимание цветовых пространств (RGB, HSV, LAB)
- Чтение/запись изображений
- Показать изображения
- Бинаризация изображений
- Пороговые методы
- Манипуляции с изображением (поворот, масштабирование…)
- Преобразование массива в изображение и наоборот
- Расширение и эрозия
- Обнаружение контура
- Контурный рисунок
- Приближение формы
- Расчет площади контура
- Маскировка
Единственное, что я могу добавить сюда, это Object Tracking, взгляните на него.
7. Пользовательские интерфейсы Python (UI):
Как бы вы избавились от этого «представления кода» и вместо этого использовали некоторые интерактивные интерфейсы. Разве это не то, что объединяет все программное обеспечение?
Python имеет несколько форм пользовательского интерфейса.
- Интерфейсы командной строки, как следует из названия, основаны на окне командной строки, где вы вводите инструкции, которые будет выполнять ваш скрипт Python.
Вы можете использовать библиотеку Argparse для этого - Графический интерфейс рабочего стола или графические пользовательские интерфейсы. Это сделает ваше программное обеспечение похожим на любое другое программное обеспечение, которое вы загружаете и устанавливаете, с интерактивными кнопками, текстовыми полями, раскрывающимися списками и меню.
Вы можете использовать PySimpleGUI или Tkinter. - Это создаст пользовательский интерфейс в вашем браузере. Преимущество этого типа пользовательского интерфейса заключается в том, что вы можете просто развернуть свой проект в Интернете позже вместе с этим интерфейсом. Это преимущество нельзя найти в Argparse или Tkinter .
Наличие данных, будь то внутренние данные Python или внешние табличные данные, требует некоторой визуализации, верно?
Наиболее важные две библиотеки:
- Матплотлиб
- Сиборн
- Гистограммы
- Точечная диаграмма
- История Формирование
- Парные участки
- Данные для раскрашивания
- Несколько участков
- Живые сюжеты
Теперь, когда вы немного изучили программирование на Python, вы поймете, что выполнение одной инструкции за раз нецелесообразно в большинстве больших приложений. Например, иногда вы хотели бы, чтобы ваш графический интерфейс работал независимо от других функций Python.
А вот и многопоточность.
- Запуск потока
- Присоединиться
- Пул потоков
- Семафоры
10. Автоматизация задач Python
Автоматизация «скучных задач», таких как файл Excel, веб-формы и ведение журнала графического интерфейса пользователя, может быть легко автоматизирована с помощью python. Вы даже можете создавать скрипты Python, чтобы играть в свою любимую игру для Android/OS и собирать для себя все ежедневные награды!
Следующие библиотеки наиболее известны этим:
- Селен
- пиаутуи
- OpenCV может оказаться очень полезным при интеграции с вышеупомянутым
- Извлечение веб-страницы XPATH для взаимодействия с использованием селена
- заполнение текстовых полей
- Щелчок
- поиск элемента либо по xpath, либо с использованием изображения шаблона
- работа с выпадающими меню
- Обработка загрузки файлов
- сопоставление шаблонов обучения в OpenCV

Обучение с учителем, обучение без учителя, обучение с подкреплением — все эти захватывающие темы можно изучить, запрограммировав их с помощью Python. Поскольку программирование с практическим применением увеличит скорость обучения в 10 раз, рассмотрите возможность немедленного изучения алгоритма и экспериментов с python.
Две самые известные библиотеки для науки о данных и машинного обучения:
- острый
- sklearn , построенный на scipy
- Обучение под наблюдением:
а. Наивный Байес
б. Линейная регрессия
c. SVM - Неконтролируемое обучение:
а. Кластеризация K-средних
b. СПС
в. ЛДА
д. т-СНЭ - Обучение с подкреплением:
а. Q-обучение
б. Генетическое обучение
- Точность
- Матрица путаницы
- Кривые AUC/ROC
- Поперечная складка

Эта тема основана на машинном обучении Python и в основном использует нейронные сети. Это уже целая область специализации.
Вам нужно проверить Tensor Flow, Keras и Pytorch.
Начните с Keras (построенного на потоке Tensor ), затем вы можете перейти к Pytorch .
Поскольку с функциями Keras проще обращаться, чем с Pytorch.
Вот первые алгоритмы, с которых вам нужно начать
- Глубокие искусственные нейронные сети (ИНС). Идеально подходит для задач прогнозирования регрессии
- Сверточные нейронные сети (CNN) идеально подходят для классификации изображений.
- Генеративно-состязательные сети (GAN). Основа Deep Fake и генерация поддельных данных
- Функции потерь и обратное распространение
- Функции активации
- Обучение/Тестирование Точность/Потери
- Тонкая настройка
13. Веб-дизайн Python:
Да, вы действительно можете создавать серверную часть для своих веб-страниц с помощью Python. На самом деле такие библиотеки, как Flask , могут быть наиболее удобными для начала работы. Честно говоря, было бы очень полезно иметь некоторые знания, по крайней мере, в HTML/CSS, чтобы иметь возможность проверить, что происходит через ваш Font-End (передняя часть представляет собой все броские кнопки и меню, которые вы видите на странице).
Однако, если у вас все в порядке с написанием супер-фиктивных страниц с использованием внутренних функций Flask, тогда будьте моим гостем и начинайте!
Вот с чего вам нужно начать:
- Маршруты
- Навигация
- Шаблоны
- Обновление элементов страницы через Python
- Сессия
- Аутентификация
Вы обязательно должны проверить этот курс. Это единственный курс в Интернете, который еженедельно обновляется новым разделом. Поскольку цель здесь состоит в том, чтобы этот курс включал в себя все, что вам когда-либо понадобится в python. Вам не нужно покупать 20 курсов, чтобы освоить Python.
Вы можете попросить инструктора добавить любую тему, касающуюся Python, и он добавит ее в течение недели!! Никаких дополнительных затрат!
