⇐ Назад

Оглавление

От издательства..............................................................................................................20

Предисловие......................................................................................................22
Спрос на квалификацию в области data science.........................................................23
Модульная структура......................................................................................................23
Ключевые особенности..................................................................................................24
Ответы на вопросы.........................................................................................................39
Поддержка Jupyter.........................................................................................................40
Приложения....................................................................................................................40
Как связаться с авторами книги....................................................................................41
Благодарности................................................................................................................41
Об авторах.......................................................................................................................43
О компании Deitel® & Associates, Inc...........................................................................44
Приступая к работе............................................................................................45
Загрузка примеров кода................................................................................................45
Структура папки examples.............................................................................................46
Установка Anaconda........................................................................................................46
Обновление Anaconda....................................................................................................47
Менеджеры пакетов.......................................................................................................47
Установка программы статического анализа кода Prospector...................................48
Установка jupyter-matplotlib ........................................................................................48
Установка других пакетов..............................................................................................48
Получение учетной записи разработчика Twitter........................................................49
Необходимость подключения к интернету в некоторых главах..................................49
Различия в выводе программ.......................................................................................49
Получение ответов на вопросы.....................................................................................50
Глава 1. Компьютеры и Python...............................................................................51
1.1. Введение..................................................................................................................52
1.2. Основы объектных технологий...............................................................................53
1.3. Python.......................................................................................................................57
1.4. Библиотеки...............................................................................................................59
1.4.1. Стандартная библиотека Python...................................................................60
1.4.2. Библиотеки data science................................................................................61
1.5. Первые эксперименты: использование IPython и Jupyter Notebook..................63
1.5.1. Использование интерактивного режима IPython как калькулятора.............63
1.5.2. Выполнение программы Python с использованием
интерпретатора IPython.................................................................................65
1.5.3. Написание и выполнение кода в Jupyter Notebook....................................68
1.6. Облачные вычисления и «интернет вещей».........................................................73
1.6.1. Облачные вычисления...................................................................................73
1.6.2. «Интернет вещей».........................................................................................75
1.7. Насколько велики большие данные?.....................................................................76
1.7.1. Анализ больших данных................................................................................83
1.7.2. Data Science и большие данные изменяют ситуацию:
практические примеры..................................................................................84
1.8. Практический пример: использование больших данных
в мобильном приложении.......................................................................................87
1.9. Введение в data science: искусственный интеллект —
на пересечении компьютерной теории и data science.........................................89
1.10. Итоги.......................................................................................................................93
Глава 2. Введение в программирование Python...................................................95
2.1. Введение..................................................................................................................96
2.2. Переменные и команды присваивания.................................................................96
2.3. Арифметические операторы...................................................................................97
2.4. Функция print и строки, заключенные в одинарные и двойные кавычки........103
2.5. Строки в тройных кавычках..................................................................................105
2.6. Получение ввода от пользователя.......................................................................107
2.7. Принятие решений: команда if и операторы сравнения....................................109
2.8. Объекты и динамическая типизация...................................................................116
2.9. Введение в data science: основные описательные статистики.........................117
2.10. Итоги.....................................................................................................................120
Глава 3. Управляющие команды..........................................................................121
3.1. Введение................................................................................................................122
3.2. Управляющие команды.........................................................................................122
3.3. Команда if...............................................................................................................123
3.4. Команды if…else и if…elif…else.............................................................................125
3.5. Команда while........................................................................................................129
3.6. Команда for............................................................................................................130
3.6.1. Итерируемые объекты, списки и итераторы.............................................131
3.6.2. Встроенная функция range.........................................................................132
3.7. Расширенное присваивание................................................................................132
3.8. Повторение, управляемое последовательностью;
отформатированные строки..................................................................................133
3.9. Повторение, управляемое контрольным значением..........................................135
3.10. Подробнее о встроенной функции range...........................................................137
3.11. Использование типа Decimal для представления денежных сумм.................138
3.12. Команды break и continue...................................................................................143
3.13. Логические операторы and, or или not .............................................................144
3.14. Введение в data science: параметры, характеризующие положение
центра распределения, — математическое ожидание, медиана и мода........148
3.15. Итоги.....................................................................................................................150
Глава 4. Функции...................................................................................................151
4.1. Введение................................................................................................................152
4.2. Определение функций...........................................................................................152
4.3. Функции с несколькими параметрами.................................................................156
4.4. Генератор случайных чисел..................................................................................158
4.5. Практический пример: игра «крэпс»...................................................................161
4.6. Стандартная библиотека Python...........................................................................165
4.7. Функции модуля math...........................................................................................167
4.8. Использование автозаполнения IPython.............................................................168
4.9. Значения параметров по умолчанию...................................................................170
4.10. Ключевые аргументы..........................................................................................171
4.11. Произвольные списки аргументов.....................................................................172
4.12. Методы: функции, принадлежащие объектам...................................................173
4.13. Правила области видимости...............................................................................174
4.14. Подробнее об импортировании..........................................................................177
4.15. Подробнее о передаче аргументов функциям...................................................179
4.16. Рекурсия...............................................................................................................183
4.17. Программирование в функциональном стиле...................................................187
4.18. Введение в data science: дисперсионные характеристики..............................190
4.19. Итоги.....................................................................................................................192
Глава 5. Последовательности: списки и кортежи...............................................194
5.1. Введение................................................................................................................195
5.2. Списки....................................................................................................................195
5.3. Кортежи..................................................................................................................201
5.4. Распаковка последовательностей........................................................................204
5.5. Сегментация последовательностей.....................................................................207
5.6. Команда del............................................................................................................210
5.7. Передача списков функциям................................................................................211
5.8. Сортировка списков..............................................................................................213
5.9. Поиск в последовательностях..............................................................................214
5.10. Другие методы списков.......................................................................................217
5.11. Моделирование стека на базе списка...............................................................220
5.12. Трансформации списков.....................................................................................221
5.13. Выражения-генераторы......................................................................................223
5.14. Фильтрация, отображение и свертка.................................................................224
5.15. Другие функции обработки последовательностей............................................227
5.16. Двумерные списки...............................................................................................230
5.17. Введение в data science: моделирование и статические
визуализации.......................................................................................................232
5.17.1. Примеры диаграмм для 600, 60 000 и 6 000 000 бросков.....................233
5.17.2. Визуализация частот и процентов.........................................................236
5.18. Итоги.....................................................................................................................244
Глава 6. Словари и множества.............................................................................246
6.1. Введение................................................................................................................247
6.2. Словари..................................................................................................................247
6.2.1. Создание словаря........................................................................................248
6.2.2. Перебор по словарю....................................................................................249
6.2.3. Основные операции со словарями............................................................249
6.2.4. Методы keys и values...................................................................................252
6.2.5. Сравнения словарей...................................................................................254
6.2.6. Пример: словарь с оценками студентов....................................................254
6.2.7. Пример: подсчет слов ................................................................................255
6.2.8. Метод update................................................................................................258
6.2.9. Трансформации словарей...........................................................................258
6.3. Множества..............................................................................................................259
6.3.1. Сравнение множеств...................................................................................262
6.3.2. Математические операции с множествами...............................................263
6.3.3. Операторы и методы изменяемых множеств............................................265
6.3.4. Трансформации множеств..........................................................................267
6.4. Введение в data science: динамические визуализации.....................................267
6.4.1. Как работает динамическая визуализация...............................................268
6.4.2. Реализация динамической визуализации................................................271
6.5. Итоги.......................................................................................................................275
Глава 7. NumPy и программирование, ориентированное на массивы.............277
7.1. Введение................................................................................................................278
7.2. Создание массивов на основе существующих данных......................................279
7.3. Атрибуты array.......................................................................................................280
7.4. Заполнение array конкретными значениями......................................................282
7.5. Создание коллекций array по диапазонам..........................................................283
7.6. Сравнение быстродействия списков и array.......................................................285
7.7. Операторы array.....................................................................................................288
7.8. Вычислительные методы NumPy ........................................................................290
7.9. Универсальные функции.......................................................................................292
7.10. Индексирование и сегментация.........................................................................295
7.11. Представления: поверхностное копирование...................................................296
7.12. Глубокое копирование.........................................................................................299
7.13. Изменение размеров и транспонирование.......................................................300
7.14. Введение в data science: коллекции Series и DataFrame
библиотеки pandas..............................................................................................303
7.14.1. Коллекция Series.....................................................................................304
7.14.2. DataFrame.................................................................................................309
7.15. Итоги.....................................................................................................................319
Глава 8. Подробнее о строках...............................................................................322
8.1. Введение................................................................................................................323
8.2. Форматирование строк..........................................................................................324
8.2.1. Типы представлений...................................................................................324
8.2.2. Ширины полей и выравнивание...............................................................326
8.2.3. Форматирование чисел..............................................................................327
8.2.4. Метод format................................................................................................328
8.3. Конкатенация и повторение строк.......................................................................329
8.4. Удаление пропусков из строк...............................................................................330
8.5. Изменение регистра символов.............................................................................331
8.6. Операторы сравнения для строк..........................................................................331
8.7. Поиск подстрок......................................................................................................332
8.8. Замена подстрок....................................................................................................334
8.9. Разбиение и объединение строк..........................................................................334
8.10. Символы и методы проверки символов.............................................................337
8.11. Необработанные строки......................................................................................338
8.12. Знакомство с регулярными выражениями........................................................339
8.12.1. Модуль re и функция fullmatch ..............................................................341
8.12.2. Замена подстрок и разбиение строк......................................................345
8.12.3. Другие функции поиска, обращение к совпадениям............................346
8.13. Введение в data science: pandas, регулярные выражения
и первичная обработка данных..........................................................................350
8.14. Итоги.....................................................................................................................356
Глава 9. Файлы и исключения..............................................................................358
9.1. Введение................................................................................................................359
9.2. Файлы.....................................................................................................................360
9.3. Обработка текстовых файлов................................................................................361
9.3.1. Запись в текстовый файл: команда with....................................................361
9.3.2. Чтение данных из текстового файла..........................................................363
9.4. Обновление текстовых файлов.............................................................................364
9.5. Сериализация в формат JSON .............................................................................367
9.6. Вопросы безопасности: сериализация и десериализация pickle.....................370
9.7. Дополнительные замечания по поводу файлов..................................................371
9.8. Обработка исключений.........................................................................................372
9.8.1. Деление на нуль и недействительный ввод..............................................372
9.8.2. Команды try..................................................................................................373
9.8.3. Перехват нескольких исключений в одной секции except.......................377
9.8.4. Какие исключения выдают функция или метод?......................................377
9.8.5. Какой код должен размещаться в наборе try?..........................................377
9.9. Секция finally..........................................................................................................378
9.10. Явная выдача исключений.................................................................................380
9.11. Раскрутка стека и трассировка (дополнение)...................................................381
9.12. Введение в data science: работа с CSV-файлами..............................................384
9.12.1. Модуль csv стандартной библиотеки Python.........................................384
9.12.2. Чтение CSV-файлов в коллекции DataFrame
библиотеки pandas....................................................................................387
9.12.3. Чтение набора данных катастрофы «Титаника»...................................389
9.12.4. Простой анализ данных на примере набора данных
катастрофы «Титаника»...........................................................................391
9.12.5. Гистограмма возраста пассажиров..................................................................392
9.13. Итоги.....................................................................................................................393
Глава 10. Объектно-ориентированное программирование...............................395
10.1. Введение..............................................................................................................396
10.2. Класс Account ......................................................................................................399
10.2.1. Класс Account в действии........................................................................399
10.2.2. Определение класса Account..................................................................401
10.2.3. Композиция: ссылка на объекты как компоненты классов..................404
10.3. Управление доступом к атрибутам.....................................................................404
10.4. Использование свойств для доступа к данным................................................405
10.4.1. Класс Time в действии............................................................................405
10.4.2. Определение класса Time.......................................................................408
10.4.3. Замечания по проектированию определения класса Time..................412
10.5. Моделирование «приватных» атрибутов...........................................................414
10.6. Практический пример: моделирование тасования и сдачи карт....................416
10.6.1. Классы Card и DeckOfCards в действии.................................................416
10.6.2. Класс Card — знакомство с атрибутами класса.....................................418
10.6.3. Класс DeckOfCards ..................................................................................421
10.6.4. Вывод изображений карт средствами Matplotlib..................................423
10.7. Наследование: базовые классы и подклассы...................................................426
10.8. Построение иерархии наследования. Концепция полиморфизма..................429
10.8.1. Базовый класс CommissionEmployee ...................................................430
10.8.2. Подкласс SalariedCommissionEmployee................................................433
10.8.3. Полиморфная обработка CommissionEmployee и SalariedCommissionEmployee....................438
10.8.4. Объектно-базированное и объектно-ориентированное программирование..........................439
10.9. Утиная типизация и полиморфизм.....................................................................439
10.10. Перегрузка операторов.....................................................................................441
10.10.1. Класс Complex в действии..................................................................443
10.10.2. Определение класса Complex.............................................................444
10.11. Иерархия классов исключений и пользовательские исключения................446
10.12. Именованные кортежи......................................................................................448
10.13. Краткое введение в новые классы данных Python 3.7...................................449
10.13.1. Создание класса данных Card............................................................450
10.13.2. Использование класса данных Card..................................................454
10.13.3. Преимущества классов данных перед именованными
кортежами.............................................................................................456
10.13.4. Преимущества класса данных перед традиционными
классами...............................................................................................456
10.14. Модульное тестирование с doc-строками и doctest........................................457
10.15. Пространства имен и области видимости........................................................462
10.16. Введение в data science: временные ряды и простая
линейная регрессия..........................................................................................466
10.17. Итоги...................................................................................................................477
Глава 11. Обработка естественного языка (NLP)................................................479
11.1. Введение..............................................................................................................480
11.2. TextBlob.................................................................................................................481
11.2.1. Создание TextBlob....................................................................................484
11.2.2. Разбиение текста на предложения и слова...........................................484
11.2.3. Пометка частей речи................................................................................485
11.2.4. Извлечение именных конструкций........................................................486
11.2.5. Анализ эмоциональной окраски с использованием
анализатора TextBlob по умолчанию......................................................487
11.2.6. Анализ эмоциональной окраски с использованием
NaiveBayesAnalyzer..................................................................................489
11.2.7. Распознавание языка и перевод............................................................490
11.2.8. Формообразование: образование единственного
и множественного числа.........................................................................492
11.2.9. Проверка орфографии и исправление ошибок.....................................493
11.2.10. Нормализация: выделение основы и лемматизация.........................494
11.2.11. Частоты слов...........................................................................................495
11.2.12. Получение определений, синонимов и антонимов из WordNet.........496
11.2.13. Удаление игнорируемых слов...............................................................498
11.2.14. n-граммы................................................................................................500
11.3. Визуализация частот вхождения слов с использованием гистограмм и словарных облаков.................501
11.3.1. Визуализация частот вхождения слов средствами Pandas.................501
11.3.2. Визуализация частот слов в словарных облаках..................................505
11.4. Оценка удобочитаемости с использованием Textatistic...................................508
11.5. Распознавание именованных сущностей с использованием spaCy...............511
11.6. Выявление сходства средствами spaCy............................................................513
11.7. Другие библиотеки и инструменты NLP............................................................514
11.8. Машинное обучение и NLP-приложения с глубоким обучением....................515
11.9. Наборы данных естественных языков...............................................................516
11.10. Итоги...................................................................................................................517
Глава 12. Глубокий анализ данных Twitter..........................................................519
12.1. Введение..............................................................................................................520
12.2. Обзор Twitter APIs................................................................................................522
12.3. Создание учетной записи Twitter.......................................................................524
12.4. Получение регистрационных данных Twitter — создание приложения.........525
12.5. Какую информацию содержит объект Tweet?....................................................527
12.6. Tweepy...................................................................................................................532
12.7. Аутентификация Twitter с использованием Tweepy .........................................533
12.8. Получение информации об учетной записи Twitter........................................535
12.9. Введение в курсоры Tweepy: получение подписчиков и друзей
учетной записи...................................................................................................537
12.9.1. Определение подписчиков учетной записи.........................................538
12.9.2. Определение друзей учетной записи...................................................540
12.9.3. Получение недавних твитов пользователя..........................................541
12.10. Поиск недавних твитов.....................................................................................542
12.11. Выявление тенденций: Twitter Trends API.......................................................545
12.11.1. Места с актуальными темами..............................................................546
12.11.2. Получение списка актуальных тем.....................................................547
12.11.3. Создание словарного облака по актуальным темам.........................549
12.12. Очистка / предварительная обработка твитов для анализа...........................550
12.13. Twitter Streaming API.........................................................................................553
12.13.1. Создание подкласса StreamListener..................................................553
12.13.2. Запуск обработки потока.....................................................................557
12.14. Анализ эмоциональной окраски твитов...........................................................559
12.15. Геокодирование и вывод информации на карте.............................................564
12.15.1. Получение твитов и нанесение их на карту.......................................566
12.15.2. Вспомогательные функции tweetutilities.py.......................................571
12.15.3. Класс LocationListener.........................................................................573
12.16. Способы хранения твитов.................................................................................574
12.17. Twitter и временные ряды.................................................................................575
12.18. Итоги...................................................................................................................575
Глава 13. IBM Watson и когнитивные вычисления.............................................577
13.1. Введение: IBM Watson и когнитивные вычисления.........................................578
13.2. Учетная запись IBM Cloud и консоль Cloud.......................................................580
13.3. Сервисы Watson...................................................................................................581
13.4. Другие сервисы и инструменты..........................................................................586
13.5. Watson Developer Cloud Python SDK...................................................................588
13.6. Практический пример: приложение-переводчик.............................................589
13.6.1. Перед запуском приложения...................................................................590
13.6.2. Пробный запуск приложения..................................................................592
13.6.3. Сценарий SimpleLanguageTranslator.py.................................................594
13.7. Ресурсы Watson....................................................................................................607
13.8. Итоги.....................................................................................................................610
Глава 14. Машинное обучение: классификация, регрессия
и кластеризация....................................................................................611
14.1. Введение в машинное обучение........................................................................612
14.1.1. Scikit-learn...............................................................................................613
14.1.2. Типы машинного обучения.....................................................................615
14.1.3. Наборы данных, включенные в поставку scikit-learn..........................618
14.1.4. Последовательность действий в типичном исследовании
data science..............................................................................................619
14.2. Практический пример: классификация методом k ближайших
соседей и набор данных Digits, часть 1.............................................................620
14.2.1. Алгоритм k ближайших соседей............................................................622
14.2.2. Загрузка набора данных.........................................................................623
14.2.3. Визуализация данных.............................................................................627
14.2.4. Разбиение данных для обучения и тестирования................................629
14.2.5. Создание модели.....................................................................................631
14.2.6. Обучение модели.....................................................................................631
14.2.7. Прогнозирование классов для рукописных цифр................................632
14.3. Практический пример: классификация методом k ближайших
соседей и набор данных Digits, часть 2.............................................................634
14.3.1. Метрики точности модели......................................................................634
14.3.2. K-проходная перекрестная проверка....................................................639
14.3.3. Выполнение нескольких моделей для поиска наилучшей..................641
14.3.4. Настройка гиперпараметров..................................................................643
14.4. Практический пример: временные ряды и простая
линейная регрессия............................................................................................644
14.5. Практический пример: множественная линейная регрессия
с набором данных California Housing.................................................................651
14.5.1. Загрузка набора данных.........................................................................651
14.5.2. Исследование данных средствами Pandas...........................................654
14.5.3. Визуализация признаков........................................................................656
14.5.4. Разбиение данных для обучения и тестирования................................661
14.5.5. Обучение модели.....................................................................................661
14.5.6. Тестирование модели..............................................................................663
14.5.7. Визуализация ожидаемых и прогнозируемых цен...............................664
14.5.8. Метрики регрессионной модели............................................................665
14.5.9. Выбор лучшей модели......................................................................................666
14.6. Практический пример: машинное обучение без учителя,
часть 1 — понижение размерности....................................................................667
14.7. Практический пример: машинное обучение без учителя,
часть 2 — кластеризация методом k средних...................................................672
14.7.1. Загрузка набора данных Iris...................................................................674
14.7.2. Исследование набора данных Iris: описательная статистика
в Pandas....................................................................................................676
14.7.3. Визуализация набора данных функцией pairplot.................................678
14.7.4. Использование оценщика KMeans.........................................................682
14.7.5. Понижение размерности методом анализа главных компонент.........684
14.7.6. Выбор оптимального оценщика для кластеризации............................687
14.8. Итоги.....................................................................................................................690
Глава 15. Глубокое обучение.................................................................................692
15.1. Введение..............................................................................................................693
15.1.1. Практическое применение глубокого обучения....................................696
15.1.2. Демонстрационные приложения глубокого обучения..........................696
15.1.3. Ресурсы Keras..........................................................................................697
15.2. Встроенные наборы данных Keras.....................................................................697
15.3. Нестандартные среды Anaconda........................................................................699
15.4. Нейронные сети...................................................................................................701
15.5. Тензоры.................................................................................................................704
15.6. Сверточные нейронные сети для распознавания образов; множественная классификация с набором данных MNIST..............................706
15.6.1. Загрузка набора данных MNIST..............................................................709
15.6.2. Исследование данных.............................................................................709
15.6.3. Подготовка данных..................................................................................712
15.6.4. Создание нейронной сети.......................................................................715
15.6.5. Обучение и оценка модели......................................................................726
15.6.6. Сохранение и загрузка модели...............................................................733
15.7. Визуализация процесса обучения нейронной сети в TensorBoard.................734
15.8. ConvnetJS: глубокое обучение и визуализация в браузере.............................738
15.9. Рекуррентные нейронные сети для последовательностей; анализ эмоциональной окраски с набором данных IMDb................................740
15.9.1. Загрузка набора данных IMDb................................................................741
15.9.2. Исследование данных.............................................................................742
15.9.3. Подготовка данных.................................................................................746
15.9.4. Создание нейронной сети.....................................................................747
15.9.5. Обучение и оценка модели....................................................................750
15.10. Настройка моделей глубокого обучения..........................................................752
15.11. Модели сверточных нейронных сетей с предварительным
обучением на ImageNet.....................................................................................753
15.12. Итоги...................................................................................................................755
Глава 16. Большие данные: Hadoop, Spark, NoSQL и IoT...................................758
16.1. Введение..............................................................................................................759
16.2. Реляционные базы данных и язык структурированных запросов (SQL)..........765
16.2.1. База данных books...................................................................................767
16.2.2. Запросы SELECT......................................................................................773
16.2.3. Секция WHERE.........................................................................................773
16.2.4. Условие ORDER BY...................................................................................774
16.2.5. Слияние данных из нескольких таблиц: INNER JOIN...........................776
16.2.6. Команда INSERT INTO..............................................................................777
16.2.7. Команда UPDATE......................................................................................778
16.2.8. Команда DELETE FROM ..........................................................................780
16.3. Базы данных NoSQL и NewSQL: краткое введение..........................................781
16.3.1. Базы данных NoSQL «ключ-значение».................................................782
16.3.2. Документные базы данных NoSQL.........................................................782
16.3.3. Столбцовые базы данных NoSQL...........................................................783
16.3.4. Графовые базы данных NoSQL...............................................................784
16.3.5. Базы данных NewSQL..............................................................................785
16.4. Практический пример: документная база данных MongoDB...........................786
16.4.1. Создание кластера MongoDB Atlas.........................................................787
16.4.2. Потоковая передача твитов в MongoDB.................................................789
16.5. Hadoop..................................................................................................................801
16.5.1. Обзор Hadoop...........................................................................................801
16.5.2. Получение статистики по длине слов в «Ромео и Джульетте» с использованием MapReduce...............805
16.5.3. Создание кластера Apache Hadoop в Microsoft Azure HDInsight..........805
16.5.4. Hadoop Streaming.....................................................................................808
16.5.5. Реализация сценария отображения.......................................................809
16.5.6. Реализация сценария свертки...............................................................810
16.5.7. Подготовка к запуску примера MapReduce............................................811
16.5.8. Выполнение задания MapReduce...........................................................812
16.6. Spark.....................................................................................................................816
16.6.1. Краткий обзор Spark................................................................................816
16.6.2. Docker и стеки Jupyter Docker................................................................818
16.6.3. Подсчет слов с использованием Spark..................................................823
16.6.4. Подсчет слов средствами Spark в Microsoft Azure................................827
16.7. Spark Streaming: подсчет хештегов Twitter с использованием
стека Docker pyspark-notebook..........................................................................831
16.7.1. Потоковая передача твитов в сокет........................................................832
16.7.2. Получение сводки хештегов и Spark SQL..............................................836
16.8. «Интернет вещей»...............................................................................................844
16.8.1. Публикация и подписка...........................................................................846
16.8.2. Визуализация живого потока PubNub средствами Freeboard.............846
16.8.3. Моделирование термостата, подключенного к интернету,
в коде Python............................................................................................849
16.8.4. Создание информационной панели с Freeboard.io...............................853
16.8.5. Создание подписчика PubNub в коде Python........................................854
16.9. Итоги.....................................................................................................................860

Наверх