Объектный дизайн Web-портала в среде Zope Программа дистанционного обучения Объектное программирование Python-скриптов (I часть курса) ТЕМА 1. ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ PYTHON 1. Язык и интерпретатор Python Лицензионные соглашения. Сравнительный анализ языка Python. Достоинства и недостатки ООП в сравнении с языками сценариев. Использование интерпретатора Python. Системы получения справочной информации по Python. Документация по Python. Среда программирования на Python. 2. Введение в Python Интерпретатор Python как калькулятор. Числа. Приоритеты операций (по возрастанию). Стандартный модуль math. Импортирование модулей. 3. Встроенные типы данных Иерархия встроенных типов данных. Числовые типы, строки, срезы, списки, кортежи, словари, файлы. 4. Синтаксис и семантика простых конструкций языка Выражения, атомы, операторы и методы. Простые инструкции. Другие элементы языка и встроенные функции. 5. Стиль записи программ Python 6. Элементы программирования: инструкции while, if, for Прерывание и продолжение циклов for и while. Оптимальные циклы. 7. Определения управляющих структур языка Python Пустая инструкция pass. Сложные инструкции: if, while, for, try Практическая работа 1. Подготовка и применение инструментов Python и PythonWin. Практическая работа 2. Стиль программирования Практическая работа 3. Принимаем решения. Оператор if. Практическая работа 4. Циклы и строки ТЕМА 2. ЗНАКОМСТВО С ФУНКЦИЯМИ. СТРУКТУРЫ ДАННЫХ 1. Определение и документирование функций Функциональное программирование. Определение функции. Параметры по умолчанию. Функция с переменным списком аргументов. Использование lambda-функций. Пространство имен функции. Документирование функций. Cправочная информации по скриптам Python. Встроенная помощь, модуль pydoc. Поиск и показ документации в Web-браузере. 2. Структуры данных: строки, списки, кортежи, словари Подробнее о списках. Дополнительные возможности конструирования списков, кортежей, словарей, сравнение последовательностей. 3. Некоторые библиотечные модули 1 Практическая работа 1. Определение и интерфейс функций. Справочная информация о скриптах Python. lambda-функции. Тест функций. Практическая работа 2. Обработка одномерных массивов, строк, списков, кортежей, словарей. Многомерные массивы, пакет Numeric. ТЕМА 3. ОРГАНИЗАЦИЯ ПРОЕКТА ПРИЛОЖЕНИЯ 1. Модули и пакеты Создание и использование модулей. Импортирование модулей. Поиск модулей. "Компилированные" файлы. Применение стандартных модулей. Пакеты. Предложение по инсталляции пакетов. 2. Ввод/вывод данных Форматированный вывод. Чтение и запись файлов. Методы объектов-файлов. Модуль pickle. 3. Ошибки и исключения Синтаксические ошибки. Обработка исключений. Классы исключений. Генерация исключений. Отладчик кода Python в библиотечном модуле pdb. Практическая работа 1. Форматированный ввод/вывод данных и файлы. Практическая работа 2. Модули и базы данных. Функции и модули. Практическая работа 3. Ошибки, исключения, отладка Практическая работа 4. Пакеты ТЕМА 4. КЛАССЫ И ОПРЕДЕЛЕНИЯ КОНСТРУКЦИЙ ЯЗЫКА 1. Первый взгляд на классы Области видимости и пространства имен. Описание класса. Обращение к элементам классов через ссылку. Наследование. Частные (закрытые) атрибуты. Пример использования класса. 2. Определение классов Объявление классов. Пространства имен. Типы и классы в Python. Практическая работа 1. Определение своего класса исключений в модуле. Анализ программы. Практическая работа 2. Использование классов в модулях. Тест модуля. Объектно-ориентированное программирование. Генератор Web-страниц. ТЕМА 5. ХРАНЕНИЕ ОБЪЕКТОВ В ZODB 1. Описание ZODB Что такое ZODB? Сравнение объектных и реляционных баз данных. Установка ZODB. Как работает ZODB? 2. Применение и программирование ZODB Открытие и закрытие базы данных в ZODB. Запись хранимого класса. Ограничения записи хранимых классов. Изменение мутируемых объектов. Правила создания хранимых классов. 3. Транзакции и версии Транзакции и хранимые объекты. Под транзакции. Отмена изменений. Удаление старых транзакций (упаковка базы данных). Версии. 4. Смежные модули ZODB 2 Модули ZODB.PersistentMapping и Модуль ZODB.PersistentList. Пакет Btrees. Практическая работа 1. Установка и программирование ZODB. . Хранимые классы. Транзакции и под транзакции. БИБЛИОГРАФИЧЕСКИЙ СПИСОК 1. Г. Россум, Ф.Л.Дж. Дрейк, Д.С. Откидач, М. Задка, М. Левис, С. Монтаро, и др. Язык программирования Python. / Пер. с англ. М. Спб.: АНО Институт Логики – Невский диалект ", 2001 635 c. 2. Сузи Р.А. Python в подлиннике. – СПб.: БХВ-Петербург, 2002. 768 с. 3. Introduction To ZODB: http://www.zope.org/Members/jim/Info/IPC8/ZODB3/ index.html [Электронный ресурс] 3