Занятие 1. Введение в программирование на Python
История языка. Версии Python. Использование Python. Установка интерпретатора Python. Работа в интерактивном режиме. Арифметика. Имена, присваивание.
Этот курс закончился
История языка. Версии Python. Использование Python. Установка интерпретатора Python. Работа в интерактивном режиме. Арифметика. Имена, присваивание.
Понятие типа данных. Литералы. Тип str
. Операции над строками. Методы и атрибуты объектов. Методы строк. Срезы. Скалярные и агрегатные типы данных. Списки. Изменяемые и неизменяемые типы.
Ввод и вывод. Структура программы. Оператор ветвления if
. Отступы. Оператор цикла while
. Оператор цикла for ... range
. Работа в среде разработки IDLE. Настройка среды разработки Visual Studio Code. Отладка программы. Бонус: функции.
Тип dict
. Концепция iterable. Списочные включения и генераторные выражения. Функции. Аргументы функций. Локальные пространства имён. Функции высшего порядка. Структурирование программы. Работа с файловой системой. Чтение и запись файлов.
Модули. Структура больших программ. Пространство имён модуля. Инструкция import
. Создание модуля. Пакеты. Обработка ошибок: блок try...except
. Выбрасывание исключений. Применение исключений как средство управления программой.
Представление времени в компьютере. Модуль datetime
. Часовые пояса и работа с ними. Модуль pytz
. Установка модулей с помощью программы pip
. Введение в регулярные выражения.
Общая идея объектно-ориентированного программирования. Идея классов. Инкапсуляция. Классы и экземпляры классов. Создание класса. Методы. Создание объекта. Конструктор и инициализация. Поля объекта. Специальные методы. Полиморфизм в Python. Наследование и композиция.
Представление текста в компьютере. Кодировки символов. Unicode. Тип данных bytes
. Работа с двоичными данными в Python. Работа над ошибками.
История развития интернета. TCP/IP. DNS. Прикладные протоколы. HTTP. World Wide Web. Браузеры. Языки HTML, CSS. Немного про JavaScript.
Менеджер пакетов pip
. Библиотека requests
. Понятие о REST. Формат данных JSON. Обращение к REST-сервису. Получение данных. Скрэпперы. Обработка HTML-страниц. Библиотека BeautifulSoup4
. Поиск информации на веб-странице.
Подробнее об HTML и CSS. Ссылки, подключение внешних ресурсов. Создание HTML-документа. Принцип работы веб-сервера. Модуль http.server
. Статические и динамические ресурсы. Технология CGI. Технология WSGI. Фрэймворки и микрофрэймворки. Виртуальное окружение Python. Файл requirements.txt
. Установка Flask. Простейшее веб-приложение на Flask.
Роутинг. Захват параметров запроса. Создание веб-страницы по шаблону. Язык шаблонов Jinja2. Использование пользовательских сессий. Развёртывание приложения на сервер.
Передача данных от пользователя по протоколу HTTP. Теги форм. Обработка форм. История систем управления базами данных. Типы баз данных. Реляционные СУБД. Поля, записи, таблицы. Понятие связи. Язык запросов SQL.
Язык SQL. Схема базы данных. Поиск, создание, удаление, обновление записей. Применение базы данных в веб-приложении.
Распараллеливание выполнения кода. Кооперативная и вытесняющая многозадачность. Многопроцессная и многопоточная архитектура. Модуль multiprocessing
. Модуль threading
. Асинхронное выполнение кода. Модуль asyncio
. Корутины. Применение асинхронности на практике. Модуль aiohttp
.
Общая теория. Библиотеки Pandas, matplotlib, scikit-learn. Загрузка данных. Анализ данных. Построение модели. Различные алгоритмы машинного обучения. Оценка построенной модели.
GUI-приложения. Принципы проектирования GUI. Событийно-ориентированное программирование. Введение в библиотеку tkinter. Структура программы. Окна, виджеты. Компоновка окна. События, обработка событий. Файловые диалоги и окна сообщений.
Тестирование. Подготовка, оформление. Виды тестов. Автоматизация тестирования. Модуль unittest. Концепция Test-Driven Development (TDD). Оформление отчётов об ошибках.