RUSSIAN

Изучаем Python: авторитетный курс объектно-ориентированного программирования. Т.2

Book information

Publisher
Диалектика
Year
2019
ISBN
9785907144514
Language
russian
Format
PDF
Filesize
58 MB (61014011 bytes)
Volume
2
Edition
5-е изд.
Pages
\722
Time added
2020-05-26 11:29:30

Description

Содержание Предисловие Часть VI. Классы и объектно-ориентированное программирование ГЛАВА 26. Объектно-ориентированное программирование: общая картина Для чего используются классы? Объектно-ориентированное программирование с высоты птичьего полета Поиск в иерархии наследования Классы и экземпляры Вызовы методов Создание деревьев классов Перегрузка операций Объектно-ориентированное программирование — это многократное использование кода Резюме Проверьте свои знания: контрольные вопросы Проверьте свои знания: ответы ГЛАВА 27. Основы написания классов Классы генерируют множество объектов экземпляров Объекты классов обеспечивают стандартное поведение Объекты экземпляров являются конкретными элементами Первый пример Классы настраиваются через наследование Второй пример Классы являются атрибутами в модулях Классы могут перехватывать операции Python Третий пример Для чего используется перегрузка операций? Простейший в мире класс Python Снова о записях: классы или словари Резюме Проверьте свои знания: контрольные вопросы Проверьте свои знания: ответы ГЛАВА 28. Более реалистичный пример Шаг 1: создание экземпляров Написание кода конструкторов Тестирование в ходе дела Использование кода двумя способами Шаг 2: добавление методов, реализующих поведение Написание кода методов Шаг 3: перегрузка операций Реализация отображения Шаг 4: настройка поведения за счет создания подклассов Написание кода подклассов Расширение методов: плохой способ Расширение методов: хороший способ Полиморфизм в действии Наследование, настройка и расширение Объектно-ориентированное программирование: основная идея Шаг 5: настройка конструкторов Объектно-ориентированное программирование проще, чем может казаться Другие способы комбинирования классов Шаг 6: использование инструментов интроспекции Специальные атрибуты класса Обобщенный инструмент отображения Атрибуты экземпляра или атрибуты класса Размышления относительно имен в классах инструментов Финальная форма классов Шаг 7 (последний): сохранение объектов в базе данных Модули pickle, dbm и shelve Сохранение объектов в базе данных shelve Исследование хранилища shelve в интерактивной подсказке Обновление объектов в хранилище shelve Указания на будущее Резюме Проверьте свои знания: контрольные вопросы Проверьте свои знания: ответы ГЛАВА 29. Детали реализации классов Оператор class Общая форма Пример Методы Пример метода Вызов конструкторов суперклассов Другие возможности вызова методов Наследование Построение дерева атрибутов Специализации унаследованных методов Методики связывания классов Абстрактные суперклассы Пространства имен: заключение Простые имена: глобальные, если не выполнено их присваивание Имена атрибутов: пространства имен объектов “Дзен” пространств имен: присваивания классифицируют имена Вложенные классы: снова о правиле областей видимости LEGB Словари пространств имен: обзор Связи между пространствами имен: инструмент подъема по дереву Снова о строках документации Классы или модули Резюме Проверьте свои знания: контрольные вопросы Проверьте свои знания: ответы ГЛАВА 30. Перегрузка операций Основы Конструкторы и выражения:__in it__и___sub___ Распространенные методы перегрузки операций Индексирование и нарезание:__getitem_и_____setitem_ Перехват срезов Нарезание и индексирование в Python 2.Х Но метод__index__в Python З.Х не имеет отношения к индексированию! Итерация по индексам:__getitem___ Итерируемые объекты:___iter__и___next____ Итерируемые объекты, определяемые пользователем Множество итераторов в одном объекте Альтернативная реализация: iter плюс yield Членство: contains , iter и getitem Доступ к атрибутам:_getattr__и___setattr___ Ссылка на атрибуты Присваивание и удаление атрибутов Другие инструменты управления атрибутами Эмуляция защиты атрибутов экземпляра: часть 1 Строковое представление: г ер г и str Для чего используются два метода отображения? Замечания по использованию отображения Использование с правой стороны и на месте:_г add_и_iadd___ Правостороннее сложение Сложение на месте Выражения вызовов:__cal 1__ Функциональные интерфейсы и код, основанный на обратных вызовах Сравнения:___It_,___gt__и другие Метод___стр__в Python 2.Х Булевские проверки:_bool___и__1еп____ Булевские методы в Python 2.Х Уничтожение объектов:__del___ Замечания относительно использования деструкторов Резюме Проверьте свои знания: контрольные вопросы Проверьте свои знания: ответы ГЛАВА 31. Проектирование с использованием классов Python и объектно-ориентированное программирование Полиморфизм означает интерфейсы, а не сигнатуры вызовов Объектно-ориентированное программирование и наследование: отношения “является” Объектно-ориентированное программирование и композиция: отношения “имеет” Снова об обработчиках потоков данных Объектно-ориентированное программирование и делегирование: промежуточные объекты-оболочки Псевдозакрытые атрибуты классов Обзор корректировки имен Для чего используются псевдозакрытые атрибуты? Методы являются объектами: связанные или несвязанные методы Несвязанные методы являются функциями в Python З.Х Связанные методы и другие вызываемые объекты Классы являются объектами: обобщенные фабрики объектов Для чего используются фабрики? Множественное наследование: “подмешиваемые” классы Реализация подмешиваемых классов отображения Другие темы, связанные с проектированием Резюме Проверьте свои знания: контрольные вопросы Проверьте свои знания: ответы ГЛАВА 32. Расширенные возможности классов Расширение встроенных типов Расширение типов путем внедрения Расширение типов путем создания подклассов Модель классов “нового стиля” Что нового в новом стиле? Изменения в классах нового стиля Процедура извлечения атрибутов для встроенных операций пропускает экземпляры Изменения модели типов Все классы являются производными от ob j ect Изменение ромбовидного наследования Дополнительные сведения о MRO: порядок распознавания методов Пример: отображение атрибутов на источники наследования Расширения в классах нового стиля Слоты: объявления атрибутов Свойства: средства доступа к атрибутам Метод__getattribute___и дескрипторы: инструменты для работы с атрибутами Другие изменения и расширения классов Статические методы и методы классов Для чего используются специальные методы? Статические методы в Python 2.Х и З.Х Альтернативы для статических методов Использование статических методов и методов класса Подсчет экземпляров с помощью статических методов Подсчет экземпляров с помощью методов классов Декораторы и метаклассы: часть 1 Основы декораторов функций Первый взгляд на декораторы функций, определяемые пользователем Первый взгляд на декораторы классов и метаклассы Дополнительные сведения Встроенная функция super: для лучшего или для худшего? Продолжительные дебаты относительно super Традиционная форма вызова методов суперкласса: переносимая, универсальная Базовое использование встроенной функции super и связанные с ней компромиссы Положительные стороны S 11рв Г: изменения деревьев и координирование 285 Изменения классов во время выполнения и super Кооперативная координация вызовов методов при множественном наследовании Сводка по super Затруднения, связанные с классами Изменение атрибутов классов может иметь побочные эффекты Модификация изменяемых атрибутов классов тоже может иметь побочные эффекты Множественное наследование: порядок имеет значение Области видимости в методах и классах Другие затруднения, связанные с классами Еще раз о KISS: чрезмерно большое количество уровней Резюме Проверьте свои знания: контрольные вопросы Проверьте свои знания: ответы Проверьте свои знания: упражнения для части VI Часть VII. Исключения и инструменты ГЛАВА 33. Основы исключений Для чего используются исключения? Роли, исполняемые исключениями Исключения: краткая история Стандартный обработчик исключений Перехват исключений Генерация исключений Исключения, определяемые пользователем Действия при завершении Резюме Проверьте свои знания: контрольные вопросы Проверьте свои знания: ответы ГЛАВА 34. Детали обработки исключений Оператор try/except/else Как работают операторы try Конструкции оператора try Конструкция else оператора try Пример: стандартное поведение Пример: перехват встроенных исключений Оператор try/finally Пример: написание кода действий при завершении с помощью try/finally Унифицированный оператор try/except/finally Унифицированный синтаксис оператора try Комбинирование finally и except за счет вложения Пример унифицированного оператора try Оператор raise Генерация исключений Области видимости и переменные except в try Распространение исключений с помощью raise Сцепление исключений в Python З.Х: raise from Оператор assert Пример: улавливание нарушений ограничений (но не ошибок!) Диспетчеры контекстов with/as Базовое использование Протокол управления контекстами Множество диспетчеров контекстов в Python 3.1, 2.7 и последующих версиях Резюме Проверьте свои знания: контрольные вопросы Проверьте свои знания: ответы ГЛАВА 35. Объекты исключений Исключения: назад в будущее Строковые исключения канули в лету! Исключения на основе классов Реализация классов исключений Для чего используются иерархии исключений? Встроенные классы исключений Категории встроенных исключений Стандартный вывод и состояние Специальное отображение при выводе Специальные данные и поведение Предоставление деталей исключения Предоставление методов исключений Резюме Проверьте свои знания: контрольные вопросы Проверьте свои знания: ответы ГЛАВА 36. Проектирование с использованием исключений Вложение обработчиков исключений Пример: вложение в потоке управления Пример: синтаксическое вложение Идиомы исключений Прерывание множества вложенных циклов: “безусловный переход” Исключения не всегда являются ошибками Функции могут сигнализировать об условиях с помощью raise Закрытие файлов и серверных подключений Отладка с помощью внешних операторов try Выполнение внутрипроцессных тестов Дополнительные сведения о функции sys . exc inf о Отображение сообщений об ошибках и трассировок Советы по проектированию с использованием исключений и связанные с ними затруднения Что должно быть помещено внутрь операторов try? Перехват слишком многого: избегайте использования пустой конструкции except и конструкции except Exception Перехват чересчур малого: используйте категории на основе классов Сводка по базовому языку Комплект инструментов Python Инструменты для разработки, ориентированные на более крупные проекты Резюме Проверьте свои знания: контрольные вопросы Проверьте свои знания: ответы Проверьте свои знания: упражнения для части VII Часть VIII. Более сложные темы ГЛАВА 37. Unicode и байтовые строки Изменения строк в Python З.Х Основы строк Схемы кодирования символов Хранение строк Python в памяти Типы строк Python Текстовые и двоичные файлы Написание базовых строк Строковые литералы Python З.Х Строковые литералы Python 2.Х Преобразования строковых типов Написание строк Unicode Написание текста ASCII Написание текста, отличающегося от ASCII Кодирование и декодирование текста, отличающегося от ASCII Другие схемы кодирования Байтовые строковые литералы: закодированный текст Преобразования между кодировками Кодирование строк Unicode в Python 2.Х Объявления кодировок в файлах исходного кода Использование объектов bytes в Python З.Х Вызовы методов Операции над последовательностями Другие способы создания объектов bytes Смешивание строковых типов Использование объектов bytearray в Python З.Х/2.6+ Объекты bytearray в действии Сводка по строковым типам Python З.Х Использование текстовых и двоичных файлов Основы текстовых файлов Текстовый и двоичный режимы в Python 2.Х и З.Х Несоответствия типов и содержимого в Python З.Х Использование файлов Unicode Чтение и запись данных Unicode в Python З.Х Обработка маркера ВОМ в Python З.Х Файлы Unicode в Python 2.Х Имена файлов и потоки данных Unicode Другие изменения инструментов для обработки строк в Python З.Х Модуль ге для сопоставления с образцом Модуль struct для работы с двоичными данными Модуль pickle для сериализации объектов Инструменты для разбора XML Резюме Проверьте свои знания: контрольные вопросы Проверьте свои знания: ответы ГЛАВА 38. Управляемые атрибуты Для чего используются управляемые атрибуты? Вставка кода для запуска при доступе к атрибутам Свойства Основы Первый пример Вычисляемые атрибуты Реализация свойств с помощью декораторов Дескрипторы Основы Первый пример Вычисляемые атрибуты Использование информации состояния в дескрипторах Связь между свойствами и дескрипторами __getattr__и___getattribute___ Основы Первый пример Вычисляемые атрибуты Сравнение___getattr__и____getattribute__ Сравнение методик управления Перехват атрибутов для встроенных операций Пример: проверка достоверности атрибутов Использование свойств для проверки достоверности Использование дескрипторов для проверки достоверности Использование___getattr___для проверки достоверности Использование___getattribute__для проверки достоверности Резюме Проверьте свои знания: контрольные вопросы Проверьте свои знания: ответы ГЛАВА 39. Декораторы Что такое декоратор? Управление вызовами и экземплярами Управление функциями и классами Использование и определение декораторов Для чего используются декораторы? Основы Декораторы функций Декораторы классов Вложение декораторов Аргументы декораторов Декораторы одновременно управляют функциями и классами Реализация декораторов функций Отслеживание вызовов Варианты предохранения состояния для декораторов Грубые ошибки, связанные с классами, часть I: декорирование методов Измерение времени вызовов Добавление аргументов к декоратору Реализация декораторов классов Классы-одиночки Отслеживание объектных интерфейсов Грубые ошибки, связанные с классами, часть II: предохранение множества экземпляров Декораторы или управляющие функции Для чего используются декораторы? (Еще раз) Управление функциями и классами напрямую Пример: “закрытые” и “открытые” атрибуты Реализация закрытых атрибутов Детали реализации, часть I Обобщение также для открытых объявлений Детали реализации, часть II Нерешенные проблемы Python не поощряет контроль доступа Пример: проверка допустимости аргументов функций Цель Базовый декоратор проверки вхождения значений в диапазон для позиционных аргументов Обобщение для поддержки также ключевых аргументов и стандартных значений Детали реализации Нерешенные проблемы Аргументы декоратора или аннотации функций Другие приложения: проверка типов (если вы настаиваете!) Резюме Проверьте свои знания: контрольные вопросы Проверьте свои знания: ответы ГЛАВА 40. Метаклассы Нужно ли иметь дело с метаклассами? Повышение уровней “магии” Язык привязок Недостаток “вспомогательных” функций Метаклассы против декораторов классов: раунд 1 Модель метаклассов Классы являются экземплярами type Метаклассы являются подклассами type Протокол оператора class Объявление метаклассов Объявление в Python З.Х Объявление в Python 2.Х Координирование метаклассов в Python З.Х и 2.Х Реализация метаклассов Базовый метакласс Настройка создания и инициализации Другие методики реализации метаклассов Наследование и экземпляр Метакласс или суперкласс Наследование: вся история Методы метаклассов Методы метаклассов или методы классов Перегрузка операций в методах метакласса Пример: добавление методов в классы Ручное дополнение Дополнение на основе метаклассов Метаклассы против декораторов классов: раунд 2 Пример: применение декораторов к методам Трассировка с помощью декорирования вручную Трассировка с помощью метаклассов и декораторов Применение любого декоратора к методам Метаклассы против декораторов классов: раунд 3 (и последний) Резюме Проверьте свои знания: контрольные вопросы Проверьте свои знания: ответы ГЛАВА 41. Все хорошее когда-нибудь заканчивается Парадокс Python О “необязательных” языковых средствах Против тревожных усовершенствований Сложность или мощь Простота или элитарность Заключительные размышления Куда двигаться дальше? На бис: распечатайте собственный сертификат об окончании! Часть IX. Приложения Приложение А. Установка и конфигурирование Установка интерпретатора Python Присутствует ли Python на компьютере? Где взять интерпретатор Python Шаги установки Конфигурирование интерпретатора Python Переменные среды Python Способы установки конфигурационных параметров Аргументы командной строки интерпретатора Python Командные строки запускающего модуля, появившегося в Python 3.3 Дополнительная помощь Приложение Б. Запускающий модуль Windows для Python Наследие Unix Наследие Windows Введение в запускающий модуль Windows Учебное руководство по запускающему модулю Windows Шаг 1: использование директив версий в файлах Шаг 2: использование переключателей версий командной строки Выводы: чистый выигрыш для Windows Приложение В. Изменения в Python и настоящая книга Главные отличия между Python 2.Х и Python З.Х Отличия Python З.Х Расширения, доступные только в Python З.Х Общие замечания: изменения в Python З.Х Изменения в библиотеках и инструментах Переход на Python З.Х Изменения в Python, относящиеся к пятому изданию: Python 2.7, 3.2, 3.3 Изменения в Python 2.7 Изменения в Python 3.8 Изменения в Python 3.7 Изменения в Python 3.3 Изменения в Python 3.2 Изменения в Python, относящиеся к четвертому изданию: Python 2.6, 3.0, 3.1 Изменения в Python 3.1 Изменения в Python 3.0 и 2.6 Удаления в языке Python 3.0 Изменения в Python, относящиеся к третьему изданию: Python 2.3, 2.4, 2.5 Более ранние и более поздние изменения в Python Приложение Г. Решения упражнений, приводимых в конце частей Часть VI, “Классы и объектно-ориентированное программирование” Часть VII, “Исключения и инструменты” Предметный указатель

Similar books

Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique

Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique

2025 · PDF

Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная

Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная

2022 · PDF

Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание

Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание

2021 · PDF

Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)

Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)

2022 · PDF

Трешниковские чтения - 2023. Современная географическая картина мира и технологии географического образования =: Treshnikov readings - 2023. Modern geographical global picture and technology of geographic education : материалы Всероссийской научно-практической конференции с международным участием, посвящённой памяти знаменитого российского океанолога, исследователя Арктики и Антарктики, академика Алексея Фёдоровича Трёшникова и 60-летию Ульяновского областного отделения Всероссийской общественной организации "Русское гаографическое общество" (13 апреля 2023)

Трешниковские чтения - 2023. Современная географическая картина мира и технологии географического образования =: Treshnikov readings - 2023. Modern geographical global picture and technology of geographic education : материалы Всероссийской научно-практической конференции с международным участием, посвящённой памяти знаменитого российского океанолога, исследователя Арктики и Антарктики, академика Алексея Фёдоровича Трёшникова и 60-летию Ульяновского областного отделения Всероссийской общественной организации "Русское гаографическое общество" (13 апреля 2023)

2023 · PDF

Управление объектами интеллектуальной собственности. Искусство изобретать: учебник для обучающихся по направлениям подготовки 23.00.00 , направлениям подготовки 23.03.01 "Технология транспортных процессов", уровень образования-"бакалавриат", 23.03.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования-"бакалавриат", 23.04.01 "Технология транспортных процессов", уровень образования- "магистратура", 23.04.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования- "магистратура"

Управление объектами интеллектуальной собственности. Искусство изобретать: учебник для обучающихся по направлениям подготовки 23.00.00 , направлениям подготовки 23.03.01 "Технология транспортных процессов", уровень образования-"бакалавриат", 23.03.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования-"бакалавриат", 23.04.01 "Технология транспортных процессов", уровень образования- "магистратура", 23.04.03 "Эксплуатация транспортно-технологических машин и комплексов", уровень образования- "магистратура"

2022 · PDF