What you'll learn:
- Вы узнаете основные принципы работы 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 для траl