Макл Саммерфилд978-5-93286-161-5
Автор начинает с описания ключевых элементов Python, знание которых необходимо в качестве базовых понятий. Затем обсуждаются более сложные темы, поданные так, чтобы читатель мог постепенно наращивать свой опыт: распределение вычислительной нагрузки между несколькими процессами и потоками, использование сложных типов данных, управляющих структур и функций, создание приложений для работы с базами данных SQL и с файлами DBM.
Книга может служить как учебником, так и справочником. Текст сопровождается многочисленными примерами, доступными на специальном сайте издания. Весь код примеров был протестирован с окончательным релизом Python 3 в ОС Windows, Linux и Mac OS X.
Table of contents :
Оглавление ……Page 8
Введение ……Page 14
1. Быстрое введение в процедурное программирование ……Page 22
Создание и запуск программ на языке Python ……Page 23
«Золотой запас» Python ……Page 28
Составляющая №1: Типы данных ……Page 29
Составляющая №2: ссылки на объекты ……Page 30
Составляющая №3: коллекции данных ……Page 33
Составляющая №4: логические операции ……Page 37
Составляющая №5: инструкции управления потоком выполнения ……Page 41
Составляющая №6: арифметические операторы ……Page 46
Составляющая №7: ввод/вывод ……Page 50
Составляющая №8: создание и вызов функций ……Page 53
bigdigits.py ……Page 56
generate_grid.py ……Page 59
В заключение ……Page 62
Упражнения ……Page 65
Идентификаторы и ключевые слова ……Page 69
Целочисленные типы ……Page 73
Целые числа ……Page 74
Логические значения ……Page 77
Тип чисел с плавающей точкой ……Page 78
Числа с плавающей точкой ……Page 79
Комплексные числа ……Page 82
Числа типа Decimal ……Page 83
Строки ……Page 85
Сравнение строк ……Page 89
Получение срезов строк ……Page 90
Операторы и методы строк ……Page 93
Форматирование строк с помощью метода str.format() ……Page 101
Кодировки символов ……Page 113
quadratic.ру ……Page 117
csv2html.py ……Page 120
В заключение ……Page 125
Упражнения ……Page 127
3. Типы коллекций ……Page 130
Кортежи ……Page 131
Именованные кортежи ……Page 135
Списки ……Page 136
Множества ……Page 145
Тип set ……Page 146
Тип frozenset ……Page 151
Словари ……Page 152
Словари со значениями по умолчанию ……Page 162
Итераторы, функции и операторы для работы с итерируемыми объектами ……Page 164
Копирование коллекций ……Page 174
Примеры ……Page 176
generate_usernames.py ……Page 177
statistics.ру ……Page 181
В заключение ……Page 185
Упражнения ……Page 187
Управляющие структуры ……Page 189
Условное ветвление ……Page 190
Циклы ……Page 191
Обработка исключений ……Page 193
Перехват и возбуждение исключений ……Page 194
Собственные исключения ……Page 199
Собственные функции ……Page 203
Имена и строки документирования ……Page 208
Распаковывание аргументов и параметров ……Page 211
Доступ к переменным в глобальной области видимости ……Page 214
Лямбда-функции ……Page 216
Утверждения ……Page 218
Пример: make_html_skeleton.py ……Page 219
В заключение ……Page 226
Упражнения ……Page 227
5. Модули ……Page 230
Модули и пакеты ……Page 231
Пакеты ……Page 235
Собственные модули ……Page 238
Обзор стандартной библиотеки языка Python ……Page 249
Обработка строк ……Page 250
Работа с аргументами командной строки ……Page 251
Математические вычисления и числа ……Page 253
Время и дата ……Page 254
Алгоритмы и типы коллекций ……Page 255
Форматы файлов, кодировки и сохранение данных ……Page 257
Работа с файлами, каталогами и процессами ……Page 261
Работа с сетями и Интернетом ……Page 264
XML ……Page 266
Прочие модули ……Page 268
В заключение ……Page 269
Упражнение ……Page 272
6. Объектно-ориентированное программирование ……Page 274
Объектно-ориентированный подход ……Page 275
Объектно-ориентированные концепции и терминология ……Page 276
Собственные классы ……Page 280
Атрибуты и методы ……Page 281
Наследование и полиморфизм ……Page 287
Использование свойств для управления доступом к атрибутам ……Page 289
Создание полных и полностью интегрированных типов данных ……Page 292
Создание классов, включающих коллекции ……Page 307
Создание классов коллекций посредством агрегирования ……Page 315
Создание классов коллекций посредством наследования ……Page 322
В заключение ……Page 330
Упражнения ……Page 333
7. Работа с файлами ……Page 335
Запись и чтение двоичных данных ……Page 341
Консервирование с возможным сжатием ……Page 342
Неформатированные двоичные данные с возможным сжатием ……Page 349
Запись текста ……Page 357
Синтаксический анализ текста ……Page 359
Синтаксический анализ текста с помощью регулярных выражений ……Page 362
Запись и синтаксический анализ файлов XML ……Page 365
Деревья элементов ……Page 366
DOM (Document Object Model – объектная модель документа) ……Page 369
Запись файла XML вручную ……Page 373
Синтаксический анализ файлов XML с помощью SAX (Simple API for XML – упрощенный API для XML) ……Page 374
Произвольный доступ к двоичным данным в файлах ……Page 377
Универсальный класс BinaryRecordFile ……Page 378
Пример: классы в модуле BikeStock ……Page 387
В заключение ……Page 391
Упражнения ……Page 392
8. Усовершенствованные приемы программирования ……Page 395
Ветвление с использованием словарей ……Page 396
Выражения-генераторы и функции-генераторы ……Page 398
Динамическое выполнение программного кода и динамическое импортирование ……Page 401
Локальные и рекурсивные функции ……Page 410
Декораторы функций и методов ……Page 415
Аннотации функций ……Page 419
Улучшенные приемы объектно-ориентированного программирования ……Page 422
Управление доступом к атрибутам ……Page 423
Функторы ……Page 427
Менеджеры контекста ……Page 429
Дескрипторы ……Page 433
Декораторы классов ……Page 439
Абстрактные базовые классы ……Page 442
Множественное наследование ……Page 450
Метаклассы ……Page 453
Функциональное программирование ……Page 458
Частично подготовленные функции ……Page 461
Пример: Valid.ру ……Page 462
В заключение ……Page 465
Упражнения ……Page 466
9. Процессы и потоки ……Page 468
Делегирование работы процессам ……Page 469
Делегирование работы потокам выполнения ……Page 474
Пример: многопоточная программа поиска слова ……Page 476
Пример: многопоточная программа поиска дубликатов файлов ……Page 480
В заключение ……Page 485
Упражнения ……Page 487
10. Сети ……Page 489
Клиент TCP ……Page 491
Сервер TCP ……Page 497
В заключение ……Page 505
Упражнения ……Page 506
11. Программирование приложений баз данных ……Page 509
Базы данных DBM ……Page 510
Базы данных SQL ……Page 514
В заключение ……Page 522
Упражнение ……Page 523
12. Регулярные выражения ……Page 525
Символы и классы символов ……Page 526
Квантификаторы ……Page 528
Группировка и сохранение ……Page 531
Проверки и флаги ……Page 534
Модуль для работы с регулярными выражениями ……Page 539
В заключение ……Page 550
Упражнения ……Page 551
13. Введение в программирование графического интерфейса ……Page 553
Программы в виде диалога ……Page 557
Программы с главным окном ……Page 564
Создание главного окна ……Page 565
Создание собственного диалога ……Page 577
Упражнения ……Page 580
Эпилог ……Page 583
Алфавитный указатель ……Page 585
Reviews
There are no reviews yet.