Занятие 1. Введение в Python
• Знакомство. О курсе. Требования к участникам.
• Характеристика языка Python. Философия Python.
• Область применения Python
• Установка Python
• Структура каталогов Python
• Первая программа на Python
• Запуск простых примеров в интерпретаторе
• Инструкция print
• Подготовка файлов в текстовом редакторе
• Комментарии в программном коде
• Аргументы командной строки
• Кратко о функциях. Функция len()
• Структура программы. Отступы.
• Принципы именования переменных. PEP 8.
• Встроенная справка. Функции help() и dir() Практика: Простые примеры по работе с числами и строками
Занятие 2. Инструкции языка. Работа со строками
• Инструкция присваивания
• Инициализация и удаление переменных
• Типы данных. Проверка типов данных и преобразования типов данных.
• Математические операторы
• Условный оператор if
• Циклы while и for
• Функции range(), xrange() и enumerate()
• Типы объектов. Разница между динамической и статической типизацией
• Числовые типы. Встроенные функции для работы с числами
• Логический тип и его значения. Логические операции
• Строки. Строковые литералы
• Cрезы
• Форматирование строк
• Функции и методы для работы со строками
Практика:
• Разработка игры «Угадай число»
• Примеры на обработку текстовых строк
Занятие 3. Коллекции и файлы
• Списки
• Словари. Ветвление с использованием словарей
• Генераторы списков и выражения-генераторы
• Кортежи
• Множества
• Методы для работы с последовательностями
• Функция zip. Объединение списков
• Работа с файлами и каталогами. Модуль os.
• Сохранение объектов в файл Практика:
• Практическая задача по биоинформатике
• Разработка программы резервного копирования файлов из каталога
Занятие 4. Функции и модули
• Функции. Создание и вызов функций. Параметры функций
• Рекурсия.
• Необязательные параметры. Переменное число параметров
• Анонимные функции
• Функции
• Декораторы функций
• Модули. Инструкции import и from
• Пути поиска модулей
• Пакеты
• Управление контекстом выполнения блока кода — оператор with
• Функциональный стиль программирования. map, reduce, filter
• Динамическое выполнение программного кода (eval и exec)
• Мини-проект «CRM». Начало разработки модуля «Контрагенты» либо модуля «Проекты» (на выбор). Использование словарей для представления данных
Практика:
• Мини-проект «CRM». Функции сохранения данных в файле и чтения из файла
• Задание. Создание установочного пакета
Занятие 5. Объектно-ориентированное программирование
• Классы и экземпляры
• Методы __init__() и __del__()
• Наследование
• Статические методы и методы класса
• Обработка исключений
• Получение атрибутов класса
• Свойства класса
• Декораторы класса Практика:
• Построение иерархии классов.
• Мини-проект «CRM». Оформление в виде классов.
Занятие 6. Встроенные классы, модули и библиотеки
• Модуль datetime. Манипуляции с датой и временем
• Регулярные выражения. Модуль re
• Логирование. Модуль logging
• Модульное тестирование. Модуль unittest
• Python как встраиваемый язык
• Использование Python в редакторе Sublime Text 2
• Взаимодействие с MS Excel, запись Excel файлов
• Библиотека openpyxl
Практика:
• Мини-проект «CRM» – сохраняем данные в Excel
• Разработка плагина для редактора Sublime Text 2
• Пишем юнит-тесты для мини-проекта «CRM»
Занятие 7. Работа с базами данных
• БД MySQL и SQLite
• Основы языка SQL
• Создание и открытие базы данных. Модуль sqlite3
• Запросы на выборку и модификацию данных
• Доступ к БД SQLite из Python
• Спецификация DB-API 2.0
• Объект-курсор. Выполнение запросов
• Обработка результата запроса
Практика:
• Работа с БД SQLite
• Мини-проект «CRM» – подключаем базу данных
Занятие 8. Работа в сети Интернет
• Разбор URL-адреса
• Модуль httplib и работа с запросами
• Модуль urllib2
• Автоматизация тестирования веб-приложений и библиотека Splinter.
• Формат json и модуль json
• Создание сценариев тестирования сайта с использованием Splinter
Практика:
• Получение и сохранение списка новостей с веб-сайта Яндекс
• Или перевод текста с помощью веб-сайта Google
Занятие 9. Веб-программирование и фреймворк Django
• Обзор web фреймворков. Интерфейс WSGI
• Обзор Django
• Архитектура модель-представление-контроллер (Model-View-Controller)
• Как инсталлировать джанго.
• Первое приложение.
• Подключение базы данных.
• Первое представление.
• Шаблоны.
• Администрирование.
• Установка Django
• Создание простого приложения в Django
Практика:
• Преобразование мини-проекта CRM в приложение Django
Занятие 10. Доработка проектов. Практические приемы программирования
• Практические приемы программирования.
• Углубленное рассмотрение темы по желанию обучающихся
• Анализ разработанных мини-проектов
• Ответы на вопросы по материалам курса