pylint, pyflakes и PEP-8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
unittest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Пакет doctest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Пакет nose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Другие фреймворки для тестирования . . . . . . . . . . . . . . . . . . . . . . . 360
Постоянная интеграция . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Отлаживаем свой код . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Отлаживаем с помощью pdb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Записываем в журнал сообщения об ошибках . . . . . . . . . . . . . . . . . . . . 368
Оптимизируем код . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Измеряем время . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Алгоритмы и структуры данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Cython, NumPy и расширения C . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
PyPy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Управление исходным кодом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Mercurial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Клонируйте эту книгу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Как узнать больше . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Книги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Сайты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Группы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Конференции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Coming Attractions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Приложения
Приложение A. Пи-Арт . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
2D-графика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Стандартная библиотека . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
PIL и Pillow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
ImageMagick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Графические пользовательские интерфейсы (Graphical User
Interface, GUI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
18
Оглавление
Трехмерная графика и анимация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Диаграммы, графики и визуализация . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
matplotlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
bokeh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
Игры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Аудио и музыка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Приложение Б. За работой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
The Microsoft Office Suite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Выполняем бизнес-задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Обработка бизнес-данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Извлечение, преобразование и загрузка . . . . . . . . . . . . . . . . . . . . . 398
Дополнительные источники информации . . . . . . . . . . . . . . . . . . . . . 401
Python в области финансов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
Безопасность бизнес-данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
Карты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403