Язык программирования Python

Курс IT-Академии Сухорукова

Апрель-июнь 2020

Этот курс закончился

Занятия

Занятие 2. Типы данных и управляющие конструкции

18 апреля

Типы данных. Строки. Операции над строками. Срезы. Литералы. Преобразование типов. Объекты, атрибуты и методы. Логический тип bool. Управление ходом выполнения программы. Оператор ветвления. Операторы цикла. Бонус: ввод и вывод информации.

Занятие 4. Словари и файлы

23 апреля

Словари. Множества. Утиная типизация. Файловая система. Абсолютные и относительные пути. Рабочий каталог программы. Работа с файлами в Python. Открытие файла. Чтение текстового файла. Запись в текстовый файл.

Занятие 5. Функции

28 апреля

Структурирование программы. Функции в Python. Создание функции. Параметры функции. Формальные и фактические параметры. Вызов функции. Локальное пространство имён. Лямбда-выражения.

Занятие 7. Модули и регулярные выражения

5 мая

Инструкция import. Разбиение программы на пакеты и модули. Пространство имён модуля. Введение в регулярные выражения

Занятие 8. Работа с датой и временем

7 мая

Представление даты и времени в компьютере. Проблемы человеческого календаря. Модуль datetime. Часовые пояса. Установка модулей с помощью программы pip. Библиотека pytz.

Занятие 9. Классы в Python

9 мая

Общая идея объектно-ориентированного программирования. Идея классов. Инкапсуляция. Классы и экземпляры классов. Создание класса. Методы. Создание объекта. Конструктор и инициализация. Поля объекта. Специальные методы. Полиморфизм в Python. Наследование и композиция.

Занятие 10. Цифровое представление текста и Unicode

12 мая

Представление текста в памяти компьютера. Кодировки. Unicode. Способы кодирования Unicode. Тип данных bytes. Перекодирование текста в Python.

Занятие 11. Введение в технологии интернета

14 мая

История развития интернета. TCP/IP. DNS. Прикладные протоколы. HTTP. World Wide Web. Браузеры. Языки HTML, CSS. Веб-сайты. Немного про JavaScript.

Занятие 12. Получение информации из интернета

16 мая

Библиотека requests. Понятие о REST. Формат данных JSON. Обращение к REST-сервису. Получение данных. Структура HTML-страниц. Скрэпперы. Обработка HTML-страниц. Библиотека BeautifulSoup4. Поиск информации на веб-странице.

Занятие 13. Selenium Web Driver. Основы работы веб-сервера.

19 мая

Selenium Web Driver. Запуск драйвера браузера. Навигация по странице. Поиск элементов. Управление браузером. Принципы работы веб-сервера.

Занятие 14. Создание веб-приложений с помощью Flask

21 мая

Статические и динамические ресурсы. Технология CGI. Технология WSGI. Фрэймворки и микрофрэймворки. Виртуальное окружение Python. Файл requirements.txt. Установка Flask. Простейшее веб-приложение на Flask.

Занятие 15. Шаблоны страниц Jinja2 и формы HTML

23 мая

Создание веб-страницы по шаблону. Понятие контекста. Язык шаблонов Jinja2. Условный вывод фрагмента. Циклы. Фильтры и функции. Роутинг. Захват параметров запроса. Наследование шаблонов. Пагинация. Формы HTML. Валидация формы, работа с формой.

Занятие 16. Введение в СУБД

26 мая

История систем управления базами данных. Типы баз данных. Реляционные СУБД. Поля, записи, таблицы. Понятие связи. Язык запросов SQL. Схема базы данных. Поиск, создание, удаление, обновление записей.

Занятие 17. Работа с базой данных и регистрация пользователей

28 мая

Обращение к базе данных SQLite из Python. Понятие курсора. Библиотека для работы с формами Flask-WTF на основе WTForms. Регистрация пользователей. Хранение паролей в базе данных и безопасность. Авторизация и аутентификация. Регистрация пользователей.

Занятие 18. Создание приложения с графическим интерфейсом

30 мая

Различные типы интерфейсов. Графический интерфейс пользователя. Библиотека tkinter. Виджеты. Организация интерфейса. События. Реакция на события.

Занятие 19. Параллельное и асинхронное программирование

2 июня

Распараллеливание выполнения кода. Кооперативная и вытесняющая многозадачность. Многопроцессная и многопоточная архитектура. Модуль multiprocessing. Модуль threading. Асинхронное выполнение кода. Модуль asyncio. Корутины. Применение асинхронности на практике. Модуль aiohttp.

Занятие 20. Основы тестирования и TDD

4 июня

Тестирование. Подготовка, оформление. Виды тестов. Автоматизация тестирования. Модуль unittest. Концепция Test-Driven Development (TDD). Оформление отчётов об ошибках.

Занятие 21. Введение в анализ данных и машинное обучение

6 июня

Общая теория. Анализ данных. Экспертные системы. Идея машинного обучения. Задачи, решаемые с помощью машинного обучения. Ограничения машинного обучения.

Библиотеки Pandas, matplotlib, scikit-learn. Загрузка данных. Анализ данных. Построение модели. Различные алгоритмы машинного обучения. Оценка построенной модели.