Аннотация....1
Языки. Общие представления....2
■ Структура языка....5
■ Выражения python....5
■ ....6
■ Имена....7
■ Имена python....7
■ Информация о модуле keyword....8
■ Нотация в Python....8
■ Как выбирать имена в Python....9
■ Именование переменных в PEP8....12
■ ....12
■ Типы и классы....13
■ Типы данных в Python....13
■ Динамическая типизация....13
■ Достоинства динамической типизации....14
■ Недостатки динамической типизации....14
■ Классификация типов данных python....15
■ Числовые типы python....15
■ Последовательности....17
■ Файл....19
■ None....19
■ Работа с типами в python....20
■ Классы....21
■ Принципы ООП....22
■ Методы класса....23
■ Атрибуты класса....23
■ Конструктор....24
■ Наследование ....26
■ Переопределение....27
■ Объявление аргументов в функциях и методах классов....27
■ ....27
■ Документирование кода....28
■ Docstring....28
■ Документация для классов....28
■ Документация класса....28
■ Документация методов класса....28
■ Документация для пакетов....30
■ Документация для модулей....30
■ Форматы Docstring....30
■ pydoc....31
■ HTTP сервер с документацией....32
■ Запись документации в файл....33
■ Автодокументирование кода....33
■ Сведения об операторах python....33
■ Операторы управления потоком выполнения....34
■ _if....34
■ if - else....37
■ Оператор if внутри другого if-оператора....38
■ Оператор if-elif-else....42
■ Итерации....43
■ Операторы цикла....44
■ Выход из двух циклов с помощью break....49
■ Пример создания итерируемого объекта....53
■ Работа с циклами: примеры....54
■ ....59
■ Массивы....60
■ Объявление массива....60
■ Библиотека numpy: объявления массивов ....61
■ Массив как класс. Перечень методов....65
■ Индексация в массиве....65
■ Итерация в массиве....66
■ Срезы в массиве....68
■ ....70
■ Списки....71
■ Создание списков....71
■ Функции и методы списков....72
■ ....73
■ Универсальные функции NumPy (ufunc)....74
■ Специализированные универсальные функции....74
■ Перечень универсальных функций....75
■ Аргументы универсальных функций....81
■ out....81
■ where....82
■ casting....83
■ order....84
■ dtype....84
■ subok....85
■ signature....85
■ extobj....86
■ Универсальные функции. Продолжение....86
■ numpy.sin....87
■ numpy.cos....88
■ numpy.tan....89
■ numpy.arcsin....90
■ numpy.arccos....91
■ numpy.arctan....92
■ numpy.hypot ....93
■ numpy.arctan2....94
■ numpy.degrees....95
■ numpy.radians....96
■ numpy.deg2rad....96
■ numpy.rad2deg....97
■ numpy.sinh....98
■ numpy.cosh....99
■ numpy.tanh....100
■ numpy.arcsinh....100
■ numpy.arccosh....101
■ numpy.arctanh....102
■ numpy.around....103
■ numpy.round ....104
■ numpy.rint....105
■ numpy.fix....105
■ numpy.floor....106
■ numpy.ceil....107
■ numpy.trunc....107
■ ....108
■ Декораторы и декорирование....109
■ Замыкания....109
■ Декоратор....109
■ Декорируемые функции....110
■ Применение декораторов....111
■ Как это работает?....112
■ Декоратор retry....112
■ Аргументы декоратора....113
■ Использование этого кода....114
■ Декоратор retry ....115
■ Напоминание....116
■ Множественное декорирование функции....118
■ Передача аргументов в декорируемую функцию....118
■ ООП: декорирование методов....119
■ Декорирование с распаковкой аргументов....119
■ Декораторы с аргументами....120
■ Аргументы декораторов....123
■ Особенности работы с декораторами....123
■ Класс - декоратор....124
■ Аргументы в классах-декораторах....125
■ Исключения и обработка исключений....126
■ Tkinter: общее представление....126
■ Графический интерфейс....126
■ Ошибки....126
■ Синтаксические ошибки....127
■ Логические ошибки....127
■ Исключения....127
■ Исключения: преимущества применения....127
■ Перехват исключений....128
■ except: несколько блоков....129
■ Вложенные блоки и else....129
■ finally....130
■ Конструкция with - as....131
■ Пользовательские исключения....131
■ Иерархия исключений ....133
■ Класс Exception. Несистемные исключения....133
■ Магические методы....135
■ Введение....135
■ Конструирование и инициализация магических методов....135
■ Переопределение операторов на произвольных классах....136
■ Магические методы сравнения....137
■ Создание недостающих методов сравнения пользовательского класса....139
■ Примечание....139
■ Числовые магические методы....140
■ Унарные операторы и функции....141
■ Обычные арифметические операторы....142
■ Отражённые арифметические операторы....143
■ Составное присваивание....145
■ Магические методы преобразования типов....147
■ Представление собственных классов....148
■ Контроль доступа к атрибутам....149
■ Функция super() в python: доступ к унаследованным методам....150
■ object-or-type - применение....151
■ Типичные случаи использования super()....151
■ Иерархия с единичным наследованием....151
■ Поддержка совместного множественного наследования....152
■ Примеры получения доступа к унаследованным методам....152
■ Функция в единичном наследовании....152
■ Произвольные последовательности....155
■ Протоколы....155
■ Магия контейнеров ....155
■ Пример....157
■ Отражение....158
■ Вызываемые объекты....159
■ Менеджеры контекста....159
■ Абстрактные базовые классы....161
■ Построение дескрипторов....161
■ Пример использования дескрипторов....161
■ Копирование....162
■ Использование модуля pickle на объектах пользовательского класса....163
■ Cериализация....163
■ Сериализация собственных объектов....164
■ Пример....165
■ Дополнение 1: Как вызывать магические методы....165
■ Магический метод call ....167
■ Класс с методом call вместо замыканий функций....169
■ Реализация декораторов с помощью классов....169
■ Магические методы str , repr , len , abs ....170
■ Методы len и abs ....172
■ Магические методы add , sub , mul , truediv ....173
■ Методы сравнений eq , ne , lt , gt и другие....180
■ Магические методы eq и hash ....186
■ Магический метод bool определения правдивости объектов....188
■ Магические методы getitem , setitem и delitem ....190
■ Магические методы iter и next ....194
■ Дополнение 2: Изменения в python 3 ....197
■ События и программирование событий....199
■ Событийно-ориентированное программирование....199
■ Применение событий....199
■ Перечень событий....201
■ Создание GUI-программы....202
a. Возможные сценарии создания пользовательского приложения....202
b. Объектно-ориентированный принцип....203
6.b.i. Замечание....204
6.b.ii. Конструктор с дополнительным аргументом funName и строкой для надписи на кнопке....204
6.b.iii. Getattr как она есть....204
c. Виджеты Button, Label, Entry....207
* Button - кнопка....207
* Label - метка....208
* Entry - однострочное текстовое поле....209
о Методы позиционирования элементов....210
* Метод grid....210
* Метод pack....211
* Метод place....215
о Text - многострочное текстовое поле....216
* Text и Scrollbar....217
* Методы Text....218
o Класс LabelFrame....218
* Теги....219
* Вставка виджетов в текстовое поле....220
o Radiobutton и Checkbutton: переменные Tkinter....220
* Radiobutton - радиокнопка....221
* Ещё примеры ....223
* Checkbutton - флажок....228
о Класс RBColor....231
o Виджет Listbox....233
o Статические и нестатические методы. Свойства виджетов....235
* Связать виджет, событие, действие....238
o События и типы событий....240
■ Событие и метод bind....241
■ Событие (Event) как объект tkinter....243
* Применение событий....245
* root.after: альтернативные способы запуска и объявления....246
■ Модуль tkinter.ttk....248
* Создание собственного стиля....251
* Тема приложения....251
* Свойства виджетов в ttk....252
■ Создание графических интерфейсов с помощью библиотеки Tkinter....254
■ Canvas....254
■ Методы позиционирования элементов....254
■ Линии....254
■ create rectangle: создание прямоугольников....256
■ Цветные прямоугольники....257
■ create oval: создание эллипсов....258
■ Сложные формы....259
■ Обращение к созданным фигурам для изменения их свойств....261
■ Идентификаторы....261
■ Теги....262
■ Привязка события ....263
■ Настройки окон....264
■ Менеджер геометрии grid....267
■ Правила применения метода grid....267
■ Другие аргументы метода grid....268
■ Метод grid: применение....270
■ Диалоговые окна....271
■ Импорт модуля и вызов функций модуля....271
■ Виджет Menu....273
■ Добавление подменю для основного меню....275
■ Всплывающее меню в Tkinter....276
■ Панель инструментов в Tkinter....277
■ Научная графика в Python....278
■ Структура matplotlib....278
■ Применение модуля matplotlib.pyplot....279
■ Рисунок (Figure)....279
■ Иерархическая структура рисунка в matplotlib....279
■ Область рисования (Axes)....279
■ Координатная ось (Axis)....279
■ Элементы рисунка (Artists)....280
■ Интерфейс прикладного программирования matplotlib API....280
■ Классы Artists....280
■ Примитивы....280
■ Контейнеры....280
■ Pyplot....281
■ Библиотека matplotlib ....283
■ Интерфейс Pyplot....283
■ Иерархическая структура рисунка в matplotlib....284
■ Элементы рисунка Artists....284
■ Свойства графических элементов....286
■ Figure: конфигурация рисунка....288
■ Настройки линии сетки Matplotlib.pyplot....290
■ Примеры....291
■ Прямые и квадратичные линии....291
■ Оптимизация осей координат....292
■ Явное определение области рисования....293
■ Нормальная общая система координат....293
■ Легенда....294
■ Аннотации и собственный текст....295
■ Прозрачность линии....297
■ Точечная диаграмма....297
■ Барная гистограмма....298
■ Диаграмма высокого и низкого потенциала....298
■ Цветовой блок и аннотация градиентной гистограммы....299
■ 3D изображение и отображение плоскостей....300
■ Изменение цвета графика....302
■ Применение цветовых карт (colormap)....303
■ Список встроенных цветовых карт и их применение....304
■ Цвета и толщины линий линии сетки трехмерной поверхности....305
■ Пример 3d изображения и отображения плоскостей....306
■ Анимация....306
■ Анимация в цикле....307
■ Оптимизация работы приложения....308
■ Применение класса Animation ....309
■ Создание анимации с помощью класса FuncAnimation....310
■ Пример использования класса FuncAnimation....310
■ Создание анимации с помощью класса ArtistAnimation....312
■ Цвет как средство отображения....313
■ Способы задания цветов. RGB и HEX....314
■ Цветовая палитра colormap....317
■ Плавная цветовая палитра....318
■ Дискретная цветовая палитра....321
■ Координатные оси....323
■ Дополнительная координатная ось....323
■ Легенда дополнительной оси....324
■ Единая легенда....325
■ Логарифмические координатные оси....325
■ ....327
■ Поток (и процесс)....328
■ Понятия и определения....328
■ Описание разных подходов к параллельным вычислениям в Python....330
■ Однопоточный режим работы....330
■ Пример использования потоков с применением библиотеки threading....331
■ threading: детали применения....332
■ multiprocessing....334
■ Взаимодействие между процессами....334
■ Класс Pool и multiprocessing....336
■ Применение многопоточности: взгляд на звёзды....336
■ Первый этап разработки приложения....336
■ Второй этап разработки приложения....337
■ Третий этап разработки приложения....339
■ Четвёртый этап разработки приложения ....341
■ Пятый этап разработки приложения....342
■ Общее представление об асинхронном вводе-выводе....346
■ ....346
Большая книга примеров основывается на описании языка программирования Python и множества материалов из различных интернет-источников. Основное предназначение книги — формирование представления о языке на основе его описания и примеров его применения.
Книга может быть использована в качестве учебного пособия.