Python — лучший язык для того, чтобы войти в IT. Прост в освоении. Используется в разработке веб-приложений, различных скриптов, ботов, в машинном обучении и научных вычислениях. Пройдя все курсы из данной серии, вы на хорошем уровне изучите сам язык и научитесь писать веб-приложения: создадите сайт, генерирующий пароли, сайт с блогом и сайт с личным портфолио. Вы научитесь работать с базами данных (БД): сможете писать код на языке SQL, а так же опрашивать БД на стороне приложения, написанного на Python. Из пакета исключён курс «Шаблоны проектирования на Python».
Курсы по программированию
ПАКЕТ 3 В 1
1799 ₽
Серия видео курсов: 3 В 1.
- «Полное руководство по Python 3 — от новичка до специалиста»
- «Практический курс для новичков по SQL и PostgreSQL»
- «Django 3 — Full Stack разработка веб-сайтов на Python»
Видео по курсу
Материалы курса
Полное руководство по Python 3: от новичка до специалиста
Введение в Python
- Скачать исходный код
- Присоединиться к чату в Telegram
- Почему Python?
- Python с технической точки зрения
- Python 2 vs Python 3
- Стандартная библиотека
- Редакторы кода для Python
- Инсталлируем дистрибутив Anaconda
- Введение в Anaconda
- Jupyter Notebook не запускается через Anaconda Navigator?
- Базовые сведения о Python
Основы Python
- Обзор основных типов данных
- Числа и элементарная математика
- Переменные
- bool и None
- Тип string
- Функции string
- Форматирование строк
- Операторы сравнения
- Операции над файлами
- Строки и байты: str, bytes, bytearray
- Основы Python
- Элементарная арифметика
- Объявление переменных
- Работа со строками
- Решение ДЗ 1-3
- ДЗ: Основы
- ДЗ: Основы - Решение
Коллекции, циклы и логика в Python
- list - список
- dict - словарь
- OrderedDict vs dict
- tuple - кортеж
- namedtuple - именованные кортежи
- Логика с условиями
- set - множество
- Цикл for
- list comprehension
- Цикл while, continue, break
- Замечания к последующим ДЗ
- Циклы. ДЗ-1-2
- Циклы. ДЗ-1-2. Решение
- Циклы. ДЗ-3 Division by 3 or 5
- Циклы. ДЗ-4-Joined List
- Циклы. ДЗ-5-Cards Sum
- Циклы. ДЗ 3-5. Решение
- Циклы. ДЗ 6. Определяем Flush
- Циклы. ДЗ-6-Флеш. Решение
- Циклы. ДЗ 7. Палиндром
- Циклы. ДЗ 7 - Палиндром. Решение
- Домашнее задание: угадай число
- Решение ДЗ: пишем игру "угадай число"
- ДЗ "Камень-ножницы-бумага"
- Решение ДЗ "Камень-ножницы-бумага"
- Коллекции и циклы
Функции и модули
- Помощь по функциям
- Встроенные функции
- Основы функций
- Лямбды
- Вложенные функции и область видимости переменных
- Декораторы
- Декоратор @wraps
- Опросник по функциям
- Примечание к последующим ДЗ
- ДЗ: Кто выстрелил быстрее?
- ДЗ: Ханойские башни
- ДЗ: Без дуплетов!
- ДЗ: Мини-судоку
- Решения ДЗ по функциям
- Домашнее задание: игра в палочки
- Решение ДЗ: пишем игру в палочки
Ошибки и исключения. Автоматизированные тесты
- Основы обработки ошибок
- Выброс исключений. Кастомные типы исключений.
- Основы юнит-тестирования
- Работа с ошибками
ООП в Python
- Основы классов
- Атрибуты и методы
- Константы. Защищённые и приватные атрибуты. Свойства.
- Статические методы - @staticmethod, @classmethod
- Наследование и полиморфизм
- Множественное наследование
- Миксины
- Абстрактный класс и модуль ABC
- Магические методы
- Примечание к последующим ДЗ
- ДЗ-1: ФИО
- ДЗ-2: Класс калькулятора
- ДЗ-3: Парсинг сотрудника
- ДЗ-4 "Пицца"
- ДЗ-5: Окружность
- ДЗ-6: Смузи
- ДЗ: 1-3 Решения
- ДЗ: 4-6. Решения
- Домашнее задание: крестики-нолики
- Решение ДЗ: реализуем крестики-нолики
- ООП в Python
Модули и пакеты
- PyPi и Pip
- Модули и пакеты
- Ещё раз о __name__ и __main__
- Модули и пакеты
Дополнительно
- Отладка
- Реализуем Stack
- datetime - даты и время
- Singleton Design Pattern: __new__ и __init__
- Pickle - консервирование
- repr and str, eq and ne, eval
- Deep copy vs Shallow copy
- Enum - перечисления
- Работаем с JSON
- Генераторы
- Модуль itertools
- Интроспекция
- Модуль requests
- Управление памятью
- Advanced Topics
Движемся дальше
- Введение в Линтеры
- Установка "системного" Python
- Виртуальное окружение
- Установка PyCharm
- Создаём проект в PyCharm
- Refactoring, Quick Fixes, Debugging в PyCharm
- Type Hints
- Введение в dataclasses
Что нового в Python 3.8
- Обзор нововведений
- Устанавливаем Python 3.8 и создаём проект
- Walrus-оператор
- Навязывание позиционных аргументов
- Улучшения в системе type hints
- Перегрузка с @overload
- Duck Typing и протоколы
- Упрощённый вывод значений в интерполированных строках
Финальная практика
- ДЗ-1: считаем гласные
- ДЗ-2: определяем FULL HOUSE
- ДЗ-3: уровни сладости
- ДЗ-4: возрастает или убывает
- ДЗ-5: Пагинация
- ДЗ: 1-4 Решения
- ДЗ-5: Решение
- Домашнее задание: парсинг римских чисел
- Решение ДЗ: парсим римские числа
- ДЗ - Виселица
- Решение ДЗ - Виселица
- ДЗ - Верю-не-верю (истина или ложь)
- Решение ДЗ: верю-не-верю
Допматериалы-1. Введение в многопоточное программирование
- Терминология
- Процессы и потоки
- Виды процессинга
- GIL
Допматериалы-1. Модуль Threading
- Однопоточность. Демо проблемы
- Foreground & Background потоки
- "Параллельное" исполнение против последовательного
- Executor API
- submit-демо
- map-демо
- Синхронизация потоков
- Гонка и Lock
- Deadlock
- Демо дэдлока
- Синхронизация сигналами
- Применяем Event
- Семафор
- Моделируем ночной клуб семафором
- Барьер
- Атомические операции
- Отмена потоков
- Отмена убийством процесса
- Базовая отмена с флагом
- Имплементируем отмену через Unit of Work-паттерн
- Подытоги
- Обработка исключений
- Обработка исключений - Демо
Допматериалы-1. Модуль asyncio
- Введение в asyncio
- Простейший пример с asyncio
- Event Loop. Введение
- Event Loop. Демо
- Демо с aiohttp
- Демо с aiofiles
- Futures & Tasks
- Task API - Демо
- Обёртываем Thread через Future
- async for
- Обработка исключений
- Обработка исключений - Демо
- Отмена. Введение
- Отмена с gather
- Отмена с wait. Кооперативная отмена
- async IO vs sync IO
Введение в SQL
- Основные концепции
- Реляционная модель и SQL
- Почему PostgreSQL
- Инсталируем PostgreSQL
- Типы данных в PostgreSQL
- Создание БД
- Создание таблиц
- Отношение "один ко многим"
- Отношение "один к одному"
- Отношение "многие ко многим"
- Создаём Northwind
Простые запросы с SELECT
- Полная выборка
- Выборка и элементарные арифметические операции
- DISTINCT
- COUNT
- ДЗ "простые выборки"
- ДЗ "простые выборки" - Решение
- WHERE
- AND, OR
- BETWEEN
- IN & NOT IN
- ORDER BY
- MIN, MAX, AVG
- ДЗ "простые выборки-2"
- ДЗ "простые выборки-2" - Решение
- LIKE
- LIMIT
- Check on NULL
- GROUP BY
- HAVING
- UNION, INTERSECT, EXCEPT
- ДЗ "группировка, сопоставление, сортировка"
- ДЗ "группировка, сопоставление, сортировка" -
- Решение
Соединения - Joins
- Знакомство с соединениями
- INNER JOIN
- LEFT, RIGHT JOIN
- SELF JOIN
- USING & NATURAL JOIN
- AS - псевдонимы
- ДЗ "JOINS"
- ДЗ "JOINS" - Решение
Подзапросы
- Введение в подзапросы
- WHERE EXISTS
- Подзапросы с квантификаторами ANY, ALL
- ДЗ "Подзапросы"
- ДЗ "Подзапросы" - Решение
DDL - управляем БД и таблицами
- Управляем таблицами
- ДЗ 1 по DDL
- ДЗ 1 по DDL - Решение
- Primary Key
- Foreign Key
- Check
- Default
- Sequences
- Sequences & Tables
- INSERT
- UPDATE, DELETE, RETURNING
- ДЗ 2 по DDL
- ДЗ 2 по DDL - Решение
Python & SQL
- Введение
- psycopg2
- ORM и SQLAlchemy
BONUS
- Бонусная лекция
Практический курс для новичков по SQL и PostgreSQL
Введение в SQL
- Основные концепции
- Реляционная модель и SQL
- Почему PostgreSQL
- Инсталируем PostgreSQL
- Типы данных в PostgreSQL
- Создание БД
- Создание таблиц
- Отношение "один ко многим"
- Отношение "один к одному"
- Отношение "многие ко многим"
- Создаём Northwind
Простые запросы с SELECT
- Полная выборка
- Выборка и элементарные арифметические операции
- DISTINCT
- COUNT
- ДЗ "простые выборки"
- ДЗ "простые выборки" - Решение
- WHERE
- AND, OR
- BETWEEN
- IN & NOT IN
- ORDER BY
- MIN, MAX, AVG
- ДЗ "простые выборки-2"
- ДЗ "простые выборки-2" - Решение
- LIKE
- LIMIT
- Check on NULL
- GROUP BY
- HAVING
- UNION, INTERSECT, EXCEPT
- ДЗ "группировка, сопоставление, сортировка"
- ДЗ "группировка, сопоставление, сортировка" -
- Решение
Соединения - Joins
- Знакомство с соединениями
- INNER JOIN
- LEFT, RIGHT JOIN
- SELF JOIN
- USING & NATURAL JOIN
- AS - псевдонимы
- ДЗ "Joins"
- ДЗ "Joins" - Решение
Подзапросы
- Введение в подзапросы
- WHERE EXISTS
- Подзапросы с квантификаторами ANY, ALL
- ДЗ "Подзапросы"
- ДЗ "Подзапросы" - Решение
DDL - управляем БД и таблицами
- Управляем таблицами
- ДЗ 1 по DDL
- ДЗ 1 по DDL - Решение
- Primary Key
- Foreign Key
- Check
- Default
- Sequences
- Sequences & Tables
- INSERT
- UPDATE, DELETE, RETURNING
- ДЗ 2 по DDL
- ДЗ 2 по DDL - Решение
Проектирование БД
- Введение в процесс проектирования
- Базовые рекомендации
- Нормальная Форма (НФ)
Представления (Views)
- Введение в представления
- Создание представлений
- Обновляемые представления
- Опция Check
- ДЗ "Views"
- ДЗ "Views" - Решение
Логика с CASE, COALESCE и NULLIF
- CASE WHEN
- Введение в COALESCE и NULLIF
- COALESCE и NULLIF на практике
- ДЗ "Логика"
- ДЗ "Логика" - Решение
Функции SQL и PL\pgSQL
- Введение в функции
- Наша первая функция
- Скалярные функции
- IN, OUT, DEFAULT
- Возврат наборов данных
- Введение в PL\pgSQL
- Возврат и присвоение
- Декларация переменных
- IF / ELSE
- Циклы
- RETURN NEXT
- ДЗ "Функции"
- ДЗ "Функции" - Решение
Ошибки и их обработка
- Введение
- RAISE на практике
- ДЗ "Ошибки и их обработка"
- ДЗ "Ошибки и их обработка" - Решение
Приведение типов данных
- Введение в приведение типов данных
- Приведение типов данных на практике
Индексы
- Введение в индексы. Немного "кишочков"
- Методы сканирования
- Виды индексов
- EXPLAIN, ANALYZE
- Построение простого индекса и индекса по двум колонкам
- Индексы по выражениям
- "Сложный" индекс для поиска по тексту
Массивы
- Введение в массивы
- Инициализация, срезы
- Массивы и операторы
- VARIADIC и FOREACH
- ДЗ "Массивы"
- ДЗ "Массивы" - Решение
- ДЗ "Циклы"
- ДЗ "Циклы" - Решение
Пользовательские типы
- Домены
- Композитные типы
- Перечисления
- ДЗ "Пользовательские типы"
- ДЗ "Пользовательские типы" - Решение
Продвинутая группировка с CUBE и ROLLUP
- Введение в группировку
- GROUPING SET, ROLLUP, CUBE
- ДЗ "Продвинутые группировки"
- ДЗ "Продвинутые группировки" - Решение
Знакомство с psql
- Введение в psql
- Знакомство с psql на практике
Импорт данных
- Импорт csv. Введение
- Импортируем csv на практике
CTE - Common Table Expressions
- Введение и CTE на практике
- Рекурсивный CTE
Оконные функции
- Введение в оконные функции
- Оконные функции на практике
- Ранжирование
- Возврат N-записей
- ДЗ "Оконные функции"
- ДЗ "Оконные функции" - Решение
Транзакции
- Введение в транзакции
- Уровни изоляции
- Транзакции на практике
- ДЗ "Транзакции"
- ДЗ "Транзакции" - Решение
Триггеры
- Введение в триггеры
- Построчные триггеры
- Триггеры на утверждения
- ДЗ "Триггеры"
- ДЗ "Триггеры" - Решение
Безопасность в postgresql
- Введение в безопасность
- Создаём роли, изымаем права с public
- Права на уровне БД и схемы
- Права на уровне таблиц
- Права на уровне колонок
- Права на уровне строк
- Изымаем все права и удаляем роли
Бонус
- Бонусная лекция
Django 3 — Full Stack разработка веб-сайтов на Python
Вступительное слово
- Вступительное слово
Памятка по Python 3
- Инсталлируем Anaconda
- Введение в Anaconda
- Что делать если Navigator не открывается
- Обзор основных типов данных
- Числа и элементарная математика
- Переменные
- Bool и None
- Тип string
- Операторы сравнения
- list-список
- dict-словарь
- Логика с условиями
- Цикл for
- Основы функций
- Ошибки и исключения
- Основы классов
- Атрибуты и методы
- Наследование и полиморфизм
Сайт №1 - Генератор паролей
- Обзор сайта
- Инсталлируем Django
- Django Cheat Sheet
- Запускаем сервер Django
- Структура проекта
- Приложения в проекте (Applications)
- URLs
- Шаблоны (Templates)
- Формы (Forms)
- Генерация случайного пароля
- Получение данных с формы
- Домашнее задание
- Решение домашнего задания
- Знакомство с Bootstrap
- Заключение
- Исходный код
Введение в GIT
- Знакомство с GIT
- Основы GIT
Сайт № 2 - Личное портфолио
- Введение
- Новые проекты и приложения
- Модели
- Админка и изображения
- Отображение объектов в Админке
- Связываем URL с приложением
- Модель Blog
- Заглядываем внутрь базы данных
- Статические (static) файлы
- Страница Detail
- Полировка
- Расширяем базовый шаблон
- Обращаемся к Bootstrap
- Заключение
- Исходный код
Разворачивание сайта в сети Интернет
- Python Anywhere
- Виртуальные окружения
- Запускаем сервер Django
- Статические и медиа файлы
- git ignore
- Разворачивание изменений
- Настройка кастомного домена
Сайт № 3 - Список дел (ToDo)
- Введение
- Новый проект
- Форма регистрации
- Создание пользователя
- Обработка ошибок
- Отображение статуса пользователя
- Выход пользователя
- Вход пользователя
- Модель ToDo
- Создание задач (ToDo)
- Список задач
- Просмотр и обновление задач
- Завершение и удаление задач
- Отображение завершённых задач
- Стилизация
- Заключение
- Исходный код
Что нового в Django 3
- Что нового в Django 3
Что дальше?
- Заключительное слово
- Бонусная лекция
Чему вы научитесь
- Создавать простые и сложные модульные программы: скрипты, консольный игры
- Использовать систему GIT для контроля версий исходного кода
- Работать с базами данных: PostgreSQL в качестве СУБД
- Использовать две среды разработки: Jupyter и PyCharm
- Работать с популярным фреймворком — Django
- Писать запросы к базам данных на Python как «напрямую», так и с помощью SqlAlchemy, Django-ORM
- Производить развёртку веб-приложения на сервер
- Алгоритмическому мышлению для решения задач
Для кого этот курс
Новичкам в программировании
Если вы никогда не пробовали себя в программировании — ничего страшного. Этот курс подходит абсолютно для всех.
Продолжающим разработчикам
Если у вас уже есть опыт в программировании и вы решили освоить новый для себя язык программирования — этот курс для вас.
Это видео курс?
Это видео курс.
Будут ли вебинары?
Нет. Это видео курс.
Можно ли будет задавать вопросы?
На образовательной платформе можно будет задавать вопросы.
Есть ли какие-либо ограничения по времени?
Никаких ограничений по времени нет. Вообще никаких.