Справка
x
Поиск
Закладки
Озвучить книгу
Изменить режим чтения
Изменить размер шрифта
Оглавление
Для озвучивания и цитирования книги перейдите в режим постраничного просмотра.
Python. К вершинам мастерства
ЧАСТЬ IV. Объектно-ориентированные идиомы
Предыдущая страница
Следующая страница
Table of contents
Предисловие
+
ЧАСТЬ I. Пролог
+
ЧАСТЬ II. Структуры данных
+
ЧАСТЬ III. Функции как объекты
+
ЧАСТЬ IV. Объектно-ориентированные идиомы
-
Глава 8. Ссылки на объекты, изменяемость и повторное использование
Переменные - не ящики
Тождественность, равенство и синонимы
Выбор между == и is
Относительная неизменяемость кортежей
По умолчанию копирование поверхностное
Глубокое и поверхностное копирование произвольных объектов
Параметры функций как ссылки
Значения по умолчанию изменяемого типа: неудачная мысль
Защитное программирование при наличии изменяемых параметров
del и сборка мусора
Слабые ссылки
Коллекция WeakValueDictionary
Ограничения слабых ссылок
Как Python хитрит с неизменяемыми объектами
Резюме
Дополнительная литература
Поговорим
Глава 9. Объект в духе Python
Представления объекта
И снова класс вектора
Альтернативный конструктор
Декораторы classmethod и staticmethod
Форматирование при выводе
Хэшируемый класс Vector2d
Закрытые и "защищенные" атрибуты в Python
Экономия памяти с помощью атрибута класса __slots__
Проблемы при использовании __slots__
Переопределение атрибутов класса
Резюме
Дополнительная литература
Поговорим
Глава 10. Рубим, перемешиваем и нарезаем последовательности
Vector: пользовательский тип последовательности
Vector, попытка № 1: совместимость с Vector2d
Протоколы и динамическая типизация
Vector, попытка № 2: последовательность, допускающая срезку
Как работает срезка
Метод __getitem__ с учетом срезов
Vector, попытка № 3: доступ к динамическим атрибутам
Vector, попытка № 4: хэширование и ускорение оператора ==
Vector, попытка № 5: форматирование
Резюме
Дополнительная литература
Поговорим
Глава 11. Интерфейсы: от протоколов до абстрактных базовых классов
Интерфейсы и протоколы в культуре Python
Python в поисках следов последовательностей
Партизанское латание как средство реализации протокола во время выполнения
Алекс Мартелли о водоплавающих
Создание подкласса ABC
ABC в стандартной библиотеке
ABC в модуле collections.abc
Числовая башня ABC
Определение и использование ABC
Синтаксические детали ABC
Создание подклассов ABC Tombola
Виртуальный подкласс Tombola
Как тестировались подклассы Tombola
Использование метода register на практике
Гуси могут вести себя как утки
Резюме
Дополнительная литература
Поговорим
Глава 12. Наследование: хорошо или плохо
Сложности наследования встроенным типам
Множественное наследование и порядок разрешения методов
Множественное наследование в реальном мире
Жизнь с множественным наследованием
Tkinter: хороший, плохой, злой
Современный пример: примеси в обобщенных представлениях Django
Резюме
Дополнительная литература
Поговорим
Глава 13. Перегрузка операторов: как правильно?
Основы перегрузки операторов
Унарные операторы
Перегрузка оператора сложения векторов +
Перегрузка оператора умножения на скаляр *
Операторы сравнения
Операторы составного присваивания
Резюме
Дополнительная литература
Поговорим
ЧАСТЬ V. Поток управления
+
ЧАСТЬ VI. Метапрограммирование
+
Послесловие
+
Приложение А. Основы языка Python
+
Терминология Python
Предметный указатель
Данный блок поддерживает скрол*