РуЛиб - онлайн библиотека > Лутц Марк > Python > Изучаем Python, том 2

Читаем онлайн «Изучаем Python, том 2»

5-е издание
Изучаем Python
Том 2
FIFTH EDITION
Learning Python
Mark Lutz
Beijing • Boston • Farnham • Sebastopol «Tokyo
O’REILLY
5-е издание
Изучаем Python
Том 2
Марк Лутц
^АЦДЛЕКШика
Москва • Санкт-Петербург
2020
ББК 32.973.26-018.2.75
Л86
УДК 681.3.07
ООО “Диалектика"’
Зав. редакцией С.Н. Тригуб
Перевод с английского и редакция Ю.Н. Артеменко
По общим вопросам обращайтесь в издательство “Диалектика” по адресу:
info@dialektika.com, http://www.dialektika.com
Лутц, Марк.
Л86 Изучаем Python, том 2, 5-е изд. : Пер. с англ. — СПб. : ООО “Диалектика”, 2020.
— 720 с. : ил. — Парал. тит. англ.
ISBN 978-5-907144-53-8 (рус., том 2)
ISBN 978-5-907144-51-4 (рус., многотом.)
ББК 32.973.26-018.2.75
Все названия программных продуктов являются зарегистрированными торговыми марками соответствую­
щих фирм.
Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в какой бы то ни было
форме и какими бы то ни было средствами, будь то электронные или механические, включая фотокопирование
и запись на магнитный носитель, если на это нет письменного разрешения издательства O’Reilly&Associates.
Authorized Russian translation of the English edition of Learning Python, 5th Edition (ISBN 978-1-449-35573-9)
© 2013 by Mark Lutz.
This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all rights to
publish and sell the same.
All rights reserved. No pail of this work may be reproduced or transmitted in any form or by any means, electronic
or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior
written permission of the copyright owner and the Publisher.
Научно-популярное издание
Марк Лутц
Изучаем Python, том 2
5-е издание
Подписано в печать 25.11.2019. Формат 70x100/16.
Гарнитура Times.
Усл. печ. л. 58,05. Уч.-изд. л. 47,3.
Тираж 1000 экз. Заказ № 10632.
Отпечатано в АО “Первая Образцовая типография”
Филиал “Чеховский Печатный Двор”
142300, Московская область, г. Чехов, ул. Полиграфистов, д. 1
Сайт: www.chpd.ru, E-mail: sales@chpd.ru, тел. 8 (499) 270-73-59
ООО “Диалектика”, 195027, Санкт-Петербург, Магнитогорская ул., д. 30, лит. А, пом. 848
ISBN 978-5-907144-53-8 (рус., том 2)
ISBN 978-5-907144-51-4 (рус., многотом.)
© 2020, ООО “Диалектика”
ISBN 978-1-449-35573-9 (англ.)
© 2013 by Mark Lutz
Оглавление
Предисловие
17
Часть VI. Классы и объектно-ориентированное программирование
10
ГЛАВА 26. Объектно-ориентированное программирование: общая картина
20
Г Л А В А 27. Основы написания классов
34
Г Л А В А 28. Более реалистичный пример
54
Г Л А В А 29. Детали реализации классов
96
Г Л А В А 30. Перегрузка операций
123
Г Л А В А 31. Проектирование с использованием классов
169
ГЛАВА 32. Расширенные возможности классов
216
Часть VII. Исключения и инструменты
315
ГЛАВА 33. Основы исключений
316
Г Л А В А 34. Детали обработки исключений
327
Г Л А В А 35. Объекты исключений
357
Г Л А В А 36. Проектирование с использованием исключений
375
Часть VIII. Более сложные темы
399
Г Л А В А 37. Unicode и байтовые строки
400
Г Л А В А 38. Управляемые атрибуты
455
Г Л А В А 39. Декораторы
504
Г Л А В А 40. Метаклассы
590
Г Л А В А 41. Все хорошее когда-нибудь заканчивается
644
Часть IX. Приложения
653
Приложение А. Установка и конфигурирование
654
Приложение Б. Запускающий модуль Windows для Python
668
Приложение В. Изменения в Python и настоящая книга
677
Приложение Г. Решения упражнений, приводимых в конце частей
692
Предметный указатель
709
Содержание
Предисловие
17
Часть VI. Классы и объектно-ориентированное программирование
19
Г Л А В А 26. Объектно-ориентированное программирование: общая картина
20
Для чего используются классы?
Объектно-ориентированное программирование с высоты птичьего полета
Поиск в иерархии наследования
Классы и экземпляры
Вызовы методов
Создание деревьев классов
Перегрузка операций
Объектно-ориентированное программирование — это многократное
использование кода
Резюме
Проверьте свои знания: контрольные вопросы
Проверьте свои знания: ответы
21
22
23
25
25
26
28
Г Л А В А 27. Основы написания классов
34
Классы генерируют множество объектов экземпляров
Объекты классов обеспечивают стандартное поведение
Объекты экземпляров являются конкретными элементами
Первый пример
Классы настраиваются через наследование
Второй пример
Классы являются атрибутами в модулях
Классы могут перехватывать операции Python
Третий пример
Для чего используется перегрузка операций?
Простейший в мире класс Python
Снова о записях: классы или словари
Резюме
Проверьте свои знания: контрольные вопросы
Проверьте свои знания: ответы
34
35
35
36
38
39
41
42
43
45
46
49
51
51
52
Г Л А В А 28. Более реалистичный пример
54
Шаг 1: создание экземпляров
Написание кода конструкторов
Тестирование в ходе дела
Использование кода двумя способами
Шаг 2: добавление методов, реализующих поведение
Написание кода методов
Шаг 3: перегрузка операций
Реализация