Python - Полный Курс по Python, Django, Data Science и ML
Изучите самый популярный язык программирования Python, включая Django, Pygame, Jupyter, Data Science и Machine Learning
Description
Python - это самый простой язык программирования в мире. Но в то же время, Python является мощным инструментом, с помощью которого можно решать огромный спектр различных задач, начиная от обработки файлов, и заканчивая машинным обучением, обработкой данных, созданием игр и созданием веб приложений.
Тем самым, выучив Python, вы можете выбирать профессию из большого спектра вакансий, либо же использовать Python для создания собственных приложений и решения собственных задач.
Этот курс включает много практических задач, а также задачи для самостоятельного выполнения.
Python - это объектно-ориентированный язык программирования.
Python - это также язык с огромным количеством функций, но для того чтобы УМЕТЬ писать код на Python, нужно ПОНИМАТЬ ключевые концепции Python. И именно на этом я и сконцентрируюсь вместе с вами в этом курсе.
Прежде чем писать код и запускать примеры, вы получите от меня объяснения и ответы на вопросы ЗАЧЕМ и ПОЧЕМУ, а уже только после этого КАК писать код.
Я не буду тратить ваше время и потому я создал максимально эффективную структуру курса. Все примеры, которые я буду объяснять и запускать, написаны мною до курса, но вы будете самостоятельно писать и запускать код.
Длительность всех видео-лекций в этом курсе более 42 часов, но рассчитывайте потратить около 300 часов для освоения всех тем курса, включая самостоятельное выполнение всех практических заданий.
Темы, которые мы рассмотрим в этом курсе:
Введение в курс Python
Где выполнять и писать код Python
Установка Python
Установка редактора кода VS Code
Начало работы в VS Code
Изменение настроек редактора VS Code
Знакомство с интерпретатором Python
Выполнения кода в Visual Studio Code
Самое важное в Python
Основные типы в Python
Практика в интерактивном интерпретаторе Python
Встроенные функции
Функция dir и атрибуты объектов
Практика - Встроенные функции print и dir
Практика - Встроенная функция input и методы строк
Отступы в Python
Форматирование кода Python и PEP8
Комментарии в Python
Выражения
Инструкции
Переменные
Объявление переменных и присвоение им значений
Динамическая типизация
Типы и структуры данных
Переменные и объекты
Встроенная функция id
Практика - Встроенная функция id и объекты
Строки - str
Практика - Строки
Встроенные функции и методы строк
Практика - Методы строк
Целые числа - int
Практика - Целые числа
Числа с десятичной точкой - float
Комплексные числа - complex
Логический тип - bool
Практика - Логический тип
Конвертация типов
Практика - Введение в магические методы
Магические методы
Списки - list
Методы списков
Разные операции со списками
Копирование списков
Практика - Списки
Словари - dict
Изменение и удаление значений в словарях
Использование переменных в словарях
Длина словаря
Несуществующие ключи и метод get
Резюме по словарям
Практика - словари
Практика - Копирование словаря
Практика - Конвертация других значений в словарь
Задача - Словари
Кортежи - tuple
Методы кортежей
Практика - Кортежи
Наборы - set
Практика - Проверка неупорядоченности наборов
Изменяемые объекты в наборах
Практика - Наборы
Методы наборов
Практика - Методы наборов
Практика - Симметричная разница в наборах
Диапазоны - range
Практика - Диапазоны
Сравнение типов последовательностей
Встроенная функция zip
Конвертация zip в dict
Изменение объектов в Python
Поведение изменяемых объектов
Как избежать изменения копий
Практика - Создание поверхностных и полных копий
Функции
Самая корткая функция и pass
Передача неизменяемых объектов в функцию
Передача изменяемых объектов в функцию
Как избежать изменения внешних объектов в функции
Аргументы функций
Объединение всех аргументов в кортеж в функции
Аргументы с ключевыми словами
Объединение именованых аргументов в словарь
Значения параметров функции по умолчанию
Практика - Значения параметров по умолчанию
Колбэк функции
Практика - Колбэк функции
Правила работы с функциями
Документация функции docstring
Области видимости
Жизненный цикл переменных
Ключевое слово global в функциях
Практика - Глобальные и локальные переменные
Операторы
Операторы и магические методы
Функция dir
Бинарные и унарные операторы
Операторы in, not in
Приоритетность операторов
Ложные значения
Логические операторы
Операторы короткого замыкания or и and
Практика - Логические операторы
Оператор распаковки словаря
Объединение словарей
Инструкция del
Соединение строк
Форматирование строк с f-strings
Практика - Соединение строк с помощью +
Практика - f-strings
Лямбда функции
Практика - Лямбда функции
Обработка ошибок
Получение информации об ошибке
Разные типы ошибок в разных блоках except
Блоки else и finally в обработке ошибок
Отсутствие типа ошибки и класс Exception
Создание ошибок
Распаковка списков и кортежей
Распаковка словаря в именованые аргументы
Распаковка списка в позиционные аргументы
Условные инструкции
Инструкция if
Инструкция if else
Инструкция if elif
Использование if в функциях
Тернарный оператор
Практика - Тернарный оператор
Циклы
Цикл for in
Практика - цикл for in
Итерация по ключам с значениями в словаре
Цикл for in для наборов
Встроенная функция filter
Цикл while
Использование continue в циклах
Сокращенный цикл for in
Примеры с сокращенным циклом for in
Практика - сокращенный цикл for in
Генераторы в сокращенном for in
Практика - генераторы
Объекты и классы
Практика - Создание экземпляров класса
Магический метод классов __init__
Практика - Объекты с собственными атрибутами
Методы и экземпляры классов
Статические методы классов
Атрибуты класса
Магические методы в классах
Наследование из других классов
Практика - Создание подклассов
Модули
Практика - Модули
Что такое __main__ и __name__
Встроенные модули
Создание пакетов
JSON
Конвертация JSON в словарь
Практика - JSON
Работа с файлами
Методы класса Path
Практика - Работа с путями к файлам и директориям
Чтение и запись файлов
Практика - Запись и чтение файлов
Практика - Удаление файлов
Создание zip архива
Практика - Распаковка zip архива
Работа с CSV файлами
Практика - Чтение из CSV файлов
Модуль datetime
Практика - Форматирование дат
Использование класса timedelta
Модуль time
Модуль random
Модуль secrets для генерации паролей
Модуль math
Рекурсивные функции
Модуль для регулярных выражений re
Сохранение паттерна в отдельном объекте
Проверка email с помощью регулярного выражения
Отправка email с помощью модуля smtplib
Компоновка и отправка email
HTML шаблоны для отправки email
Отправка вложений в email
Модуль SQLite3 и создание базы данных
Практика - Запись данных в таблицу SQLite
Практика - Чтение данных из таблицы SQLite
Модуль array
Аргументы функции и модуль sys
Модуль webbrowser
Менеджер пакетов PIP
Виртуальные среды и Pipenv
Создание виртуальной среды
Файлы Pipfile и Pipfile.lock
Использование пакетов в виртуальной среде
Инсталяция дополнительных пакетов в виртуальной среде
Дерево пакетов и обновление пакетов
Обзор проекта Django
Введение в Django и паттерн MVC
Установка Django
Создание нового проекта Django
Запуск сервера Django
Выбор виртуальной среды в VS Code
Файлы проекта Django
Обзор настроек проекта Django
Настройки WSGI и ASGI
Остальные настройки проекта Django
Настройки роутинга в проекте Django
Создание приложения Django
Разница между проектом и приложениями
Обзор файлов приложения
Создание функции вида
Привязка функции вида к маршруту
Добавление маршрутов приложения к маршрутам проекта
Проверка доступности приложения в веб интерфейсе
Применение миграций для базы данных
Создание аккаунта администратора
Создание моделей
Изменение списка установленных приложений
Создание миграций
Применение созданных миграций
Изменение моделей
Создание категории с помощью модели
Создание курсов в категории
Подключение моделей в панели администратора
Добавление магического метода __str__ в модели
Отображение названий курсов на веб странице
Создание HTML шаблона
Использование данных из базы данных в шаблоне
Связь между слоями в приложениях Django
Подключение библиотеки стилей Bootstrap
Создание базового HTML шаблона
Добавление общего навигационного блока
Добавление маршрута для одного курса
Создание функции вида для страницы курса
Создание шаблона для страницы курса
Проверка страницы отдельного курса
Отображение страницы 404 если курса нет в базе
Настройка роутинга между страницами
Роутинг с использованием имен маршрутов
Роутинг с использований имен приложений и маршрутов
Перенос шаблонов в общую папку
Подведение итогов по приложению Shop
Создание приложения api
Создание моделей для приложения api
Настройка роутинга для приложения api
Проверка работы сервиса API
Добавление версии API
Установка программы Postman
Настройка аутентификации и авторизации для API
Создание API ключа
Удаление курса через API
Создание нового курса с помощью POST
Изменение данных перед отправкой клиентам через API
Подведение итогов по приложению api
Рефакторинг приложения api
Перенос магазина на главную страницу
Изменение панели администратора
Подведение итогов по всему проекту Django
Введение в Pygame
Запуск игры и события в Pygame
Изменение цвета фона в игре
Добавление прямоугольника в игре
Перемещение прямоугольника кнопками на клавиатуре
Перемещение прямоугольника только в рамках экрана
Подведение итогов по игре с прямоугольником
Демонстрация игры типа shooter
Добавление корабля на экран
Перемещение корабля влево и вправо
Непрерывное перемещение корабля при нажатой клавише
Добавление шарика на экране
Перемещение и скрытие шарика
Отображение инопланетянина в игре
Добавление проигрыша в игре
Попадание шарика в инопланетянина
Ускорение движения инопланетянина
Добавления счетчика попаданий
Подведение итогов по созданию игры
Введение в Data Science и Machine Learning
Установка и запуск Jupyter Notebook
Знакомство с Jupyter Notebook
Использование переменных в Jupyter
Импорт из встроенных модулей в Jupyter
Установка внешних модулей в Jupyter
Использование внешних модулей в Jupyter
Установка Jupyter Lab
Знакомство с Jupyter Lab
Добавление оглавления и разметка
Управление файлами, консоль и терминал в Jupyter Lab
Текстовые файлы и подсказки в Jupyter Lab
Обзор Anaconda
Введение в NumPy
Создание одномерных массивов в NumPy
Форма, размерность и тип данных в NumPy
Двухмерные массивы в NumPy
Оси в массивах NumPy
Слияние массивов NumPy
Соединение одномерных массивов
Заполнение массива нулями и единицами
Модуль random для массивов NumPy
Псевдо случайные числа
Методы randint, uniform и choice
Методы arange и reshape
Метод flatten для трансформации в одномерный массив
Одномерные массивы в NumPy - Примеры 1, 2
Одномерные массивы в NumPy - Примеры 3, 4
Двухмерные массивы в NumPy - Пример 5
Двухмерные массивы в NumPy - Пример 6
Трехмерные массивы в NumPy - Пример 7
Резюме секции по NumPy
Обзор Pandas и создание DataFrame
Обзор DataFrame в Pandas
Метод describe для DataFrame в Pandas
Выбор колонок по типу данных
Отсутствующие значения и метод isna
Конвертация строк в даты
Подведение итогов по DataFrame
Series в Pandas
Операции с Series в Pandas
Выборка столбцов и рядов в DataFrame с помощью loc и iloc
Фильтрация в DataFrame
Фильтрация с помощью метода isin
Сортировка в DataFrame
Подведение итогов по фильтрации и сортировке DataFrames
Добавление и изменение данных в DataFrame
Слияние DataFrames
Удаление колонок и рядов в DataFrame
Подведение итогов по слиянию и изменению DataFrames
Генерация случайных данных для DataFrame
Сохранение DataFrame в CSV файле
Создание DataFrame из CSV файла
Сохранение DataFrame в Excel и JSON файлах
Анализ и группирование данных, загруженных из CSV файла
Отображение диаграмм с помощью Matplotlib
Подведение итогов по проекту с данными из CSV файла
Подведение итогов по пакету Pandas
Введение в Matplotlib и базовые диаграммы
Примеры plot диаграмм - line, bar, area, pie
Пример гистограммы
Пример диаграммы boxplot
Пример диаграммы heatmap
Резюме по примерам диаграмм
Загрузка данных из CSV файла для визуализации
Отображение реальных данных на диаграммах
Диаграммы для транспонированного DataFrame
Подведение итогов по визуализации реальных данных из CSV файла
Подведение итогов по Matplotlib и Seaborn
Введение в Scikit-learn и обзор данных для создания модели
Планирование шагов по построению модели
Этап очистки данных перед построением модели
Попытка создания модели
Этап кодирования с помощью метода replace
Замена значений на цифровые с помощью LabelEncoder
Создание модели после очистки и кодирования данных
Предсказание целевых значений с помощью модели
Разбиение данных на части для обучения и тестирования модели
Оценка точности построенной модели
Экспорт модели в .dot файл для визуализации процесса принятия решений
Отображение диаграмм на основании данных для модели
Подведение итогов по созданию модели
Загрузка большого реального набора данных для построения модели
Загрузка данных из большого CSV файла и базовый анализ
Очистка данных после загрузки
Отображение диаграмм на этапе анализа данных
Кодирование данных перед созданием модели
Отображение дополнительных диаграмм
Фильтрация данных на этапе анализа
Создание модели с помощью DecisionTreeClassifier
Оценка точности модели, построенной с помощью DecisionTreeClassifier
Создание моделей с помощью RandomForestClassifier, KNeighborsClassifier и LogisticRegression
Итоги по построению моделей и планы для изменения данных
Построение модели без отзывов пассажиров
Тестирование модели на основании вручную созданных данных
Подведение итогов по модели без отзывов пассажиров
Сохранение модели в файле и загрузка из файла
Подведение итогов по примеру с пассажирами
Список задач для самостоятельного выполнения
ЗАДАЧА - Запись и чтение файлов
ЗАДАЧА - JSON
ЗАДАЧА - Классы и экземпляры
ЗАДАЧА - Наборы
ЗАДАЧА - Обработка ошибок
ЗАДАЧА - Операторы
ЗАДАЧА - Проверка пароля
ЗАДАЧА - Словари
ЗАДАЧА - Условные инструкции
ЗАДАЧА - Функции
ЗАДАЧА - Цикл while
ЗАДАЧИ - Именованые аргументы функций
ЗАДАЧИ - Сокращенный цикл for in
ЗАДАЧИ - Списки
ЗАДАЧИ - Тернарный оператор
ЗАДАЧИ - Цикл for in
ЗАДАЧИ - Сокращенный цикл for in
ЗАДАЧА - Классы и экземпляры
ЗАДАЧА - JSON
ЗАДАЧА - Запись и чтение файлов
ЗАДАЧА - Проверка пароля
После прохождения этого курса вы смело сможете сказать, что ЗНАЕТЕ Python и УМЕЕТЕ пользоваться самыми востребованными функциями Python.
What You Will Learn!
- Вы узнаете основные принципы работы Python и изучите все основные функции, которые используются в реальных проектах чаще всего и востребованные больше всех
- Вы будете выполнять на практике все примеры, которые я буду показывать на протяжении курса, используя интерпретатор Python, Visual Studio Code с Code Runner
- Вы освоите все необходимые внешние пакеты для Data Science и Machine Learning, такие как NumPy, Pandas, Matplotlib и Scikit-learn с помощью Jupyter Notebook
- Вы изучите основной функционал Python, начиная от переменных, списков, словарей и заканчивая классами, циклами, модулями и созданием виртуальных сред
- Кроме того, вы научитесь использовать функциональный и объектно-ориентированный подходы в программировании на языке Python
Who Should Attend!
- Начинающие программисты Python, желающие научиться программировать
- Планирующие работать в направлении Data Science и Machine Learning
- Веб разработчики, которые хотят создавать веб приложения с помощью Python
- Желающие выполнять задачи, связанные с машинным обучением, обработкой данных
- Разработчики игр, которые хотят создавать игры с помощью Python Pygame