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

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

Декабрь 2019 - январь 2020

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

Занятия

Занятие 2. Типы данных: строки и списки

3 декабря

Понятие типа данных. Литералы. Тип str. Операции над строками. Методы и атрибуты объектов. Методы строк. Срезы. Скалярные и агрегатные типы данных. Списки. Изменяемые и неизменяемые типы.

Занятие 3. Программа на Python

5 декабря

Ввод и вывод. Структура программы. Оператор ветвления if. Отступы. Оператор цикла while. Оператор цикла for ... range. Работа в среде разработки IDLE. Настройка среды разработки Visual Studio Code. Отладка программы. Бонус: функции.

Занятие 4. Словари, функции и ввод-вывод

8 декабря

Тип dict. Концепция iterable. Списочные включения и генераторные выражения. Функции. Аргументы функций. Локальные пространства имён. Функции высшего порядка. Структурирование программы. Работа с файловой системой. Чтение и запись файлов.

Занятие 5. Модули и исключения

10 декабря

Модули. Структура больших программ. Пространство имён модуля. Инструкция import. Создание модуля. Пакеты. Обработка ошибок: блок try...except. Выбрасывание исключений. Применение исключений как средство управления программой.

Занятие 6. Работа с датами и временем. Регулярные выражения

12 декабря

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

Занятие 7. Создание собственных классов

15 декабря

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

Занятие 8. Кодирование текста и Unicode

17 декабря

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

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

19 декабря

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

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

22 декабря

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

Занятие 11. Основы создания веб-приложений

24 декабря

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

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

26 декабря

Роутинг. Захват параметров запроса. Создание веб-страницы по шаблону. Язык шаблонов Jinja2. Использование пользовательских сессий. Развёртывание приложения на сервер.

Занятие 13. Формы HTML. Введение в СУБД

9 января

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

Занятие 14. Работа с реляционными СУБД

12 января

Язык SQL. Схема базы данных. Поиск, создание, удаление, обновление записей. Применение базы данных в веб-приложении.

Занятие 15. Параллельное и асинхронное выполнение кода

16 января

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

Занятие 16. Введение в машинное обучение и GUI-программирование

19 января

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

GUI-приложения. Принципы проектирования GUI. Событийно-ориентированное программирование. Введение в библиотеку tkinter. Структура программы. Окна, виджеты. Компоновка окна. События, обработка событий. Файловые диалоги и окна сообщений.

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

21 января

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