[Udemy] Bogdan Stashchuk ― Python - Полный Курс по Python, Django, Data Science и ML (2024)
Чему вы научитесь
- Вы узнаете основные принципы работы Python и изучите все основные функции, которые используются в реальных проектах чаще всего и востребованные больше всех
- Вы будете выполнять на практике все примеры, которые я буду показывать на протяжении курса, используя интерпретатор Python, Visual Studio Code с Code Runner
- Вы освоите все необходимые внешние пакеты для Data Science и Machine Learning, такие как NumPy, Pandas, Matplotlib и Scikit-learn с помощью Jupyter Notebook
- Вы изучите основной функционал Python, начиная от переменных, списков, словарей и заканчивая классами, циклами, модулями и созданием виртуальных сред
- Кроме того, вы научитесь использовать функциональный и объектно-ориентированный подходы в программировании на языке Python
Требования
- Предварительных требований нет, все что от вас требуется - желание учиться и практиковаться
- Желательно учиться на ноутбуке с внешним монитором, можно также использовать планшет
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, желающие научиться программировать
- Планирующие работать в направлении Data Science и Machine Learning
- Веб разработчики, которые хотят создавать веб приложения с помощью Python
- Желающие выполнять задачи, связанные с машинным обучением, обработкой данных
- Разработчики игр, которые хотят создавать игры с помощью Python Pygame
Скрытое содержимое. Вам нужно войти или зарегистрироваться.
СКАЧАТЬ Скрытое содержимое. Вам нужно войти или зарегистрироваться.