Введение

Глава 1. Быстрое введение в процедурное программирование

Создание и запуск программ на языке Python
"Золотой запас" Python
Составляющая №1: типы данных
Составляющая №2: ссылки на объекты
Составляющая №3: коллекции данных
Составляющая №4: логические операции
Составляющая №5: инструкции управления потоком выполнения
Составляющая №6: арифметические операторы
Составляющая №7: ввод/вывод
Составляющая №8: создание и вызов функций
Примеры
bigdigits.py
generate_grid.py
В заключение
Упражнения

Глава 2. Типы данных

Идентификаторы и ключевые слова
Целочисленные типы
Целые числа
Логические значения
Тип чисел с плавающей точкой
Числа с плавающей точкой
Комплексные числа
Числа типа Decimal
Строки
Сравнение строк
Получение срезов строк
Операторы и методы строк
Форматирование строк с помощью метода str.format()
Кодировки символов
Примеры
quadratic.py
csv2html.py
В заключение
Упражнения

Глава 3. Типы коллекций

Последовательности
Кортежи
Именованные кортежи
Списки
Множества
Тип set
Тип frozenset
Отображения
Словари
Словари со значениями по умолчанию
Обход в цикле и копирование коллекций
Итераторы, функции и операторы для работы с итерируемыми объектами
Копирование коллекций
Примеры
generate_usernames.py
statistics.py
В заключение
Упражнения

Глава 4. Управляющие структуры и функции

Управляющие структуры
Условное ветвление
Циклы
Обработка исключений
Перехват и возбуждение исключений
Собственные исключения
Собственные функции
Имена и строки документирования
Распаковывание аргументов и параметров
Доступ к переменным в глобальной области видимости
Лямбда-функции
Утверждения
Пример: make_html_skeleton.py
В заключение
Упражнения

Глава 5. Модули

Модули и пакеты
Пакеты
Собственные модули
Обзор стандартной библиотеки языка Python
Обработка строк
Работа с аргументами командной строки
Математические вычисления и числа
Время и дата
Алгоритмы и типы коллекций
Форматы файлов, кодировки и сохранение данных
Работа с файлами, каталогами и процессами
Работа с сетями и Интернетом
XML
Прочие модули
В заключение
Упражнение

Глава 6. Объектно-ориентированное программирование

Объектно-ориентированный подход
Объектно-ориентированные концепции и терминология
Собственные классы
Атрибуты и методы
Наследование и полиморфизм
Использование свойств для управления доступом к атрибутам
Создание полных и полностью интегрированных типов данных
Собственные классы коллекций
Создание классов, включающих коллекции
Создание классов коллекций посредством агрегирования
Создание классов коллекций посредством наследования
В заключение
Упражнения

Глава 7. Работа с файлами

Запись и чтение двоичных данных
Консервирование с возможным сжатием
Неформатированные двоичные данные с возможным сжатием
Запись и синтаксический анализ текстовых файлов
Запись текста
Синтаксический анализ текста
Синтаксический анализ текста с помощью регулярных выражений
Запись и синтаксический анализ файлов XML
Деревья элементов
DOM (Document Object Model - объектная
модель документа)
Запись файла XML вручную
Синтаксический анализ файлов XML с помощью SAX (Simple API for XML - упрощенный API для XML)
Произвольный доступ к двоичным данным в файлах
Универсальный класс BinaryRecordFile
Пример: классы в модуле BikeStock
В заключение
Упражнения

Глава 8. Усовершенствованные приемы программирования

Улучшенные приемы процедурного программирования
Ветвление с использованием словарей
Выражения-генераторы и функции-генераторы
Динамическое выполнение программного кода и динамическое импортирование
Локальные и рекурсивные функции
Декораторы функций и методов
Аннотации функций
Улучшенные приемы объектно-ориентированного программирования
Управление доступом к атрибутам
Функторы
Менеджеры контекста
Дескрипторы
Декораторы классов
Абстрактные базовые классы
Множественное наследование
Метаклассы
Функциональное программирование
Частично подготовленные функции
Пример: Valid.py
В заключение
Упражнения

Глава 9. Процессы и потоки

Делегирование работы процессам
Делегирование работы потокам выполнения
Пример: многопоточная программа поиска слова
Пример: многопоточная программа поиска дубликатов файлов
В заключение
Упражнения

Глава 10. Сети

Клиент TCP
Сервер TCP
В заключение
Упражнения

Глава 11. Программирование приложений баз данных
Базы данных DBM
Базы данных SQL
В заключение
Упражнение

Глава 12. Регулярные выражения

Язык регулярных выражений в Python
Символы и классы символов
Квантификаторы
Группировка и сохранение
Проверки и флаги
Модуль для работы с регулярными выражениями
В заключение
Упражнения

Глава 13. Введение в программирование графического интерфейса

Программы в виде диалога
Программы с главным окном
Создание главного окна
Создание собственного диалога
В заключение
Упражнения

Эпилог

Алфавитный указатель