О книге....18
Как использовать книгу....18
Структура книги....19
Правила оформления кода....20
Упражнения....21
Ответы к упражнениям....21
Исходный код....21
Системные требования....21
Программные требования....21
Об авторе....22
Об иллюстрации на обложке....22
От издательства....22
Благодарности....17
Предисловие....16
Введение....15
Часть 1 Первые шаги....23
Глава 1. Знакомство с Python....24
1.1. Почему мне стоит использовать Python?....24
1.2. Сильные стороны Python....25
1.3. Не самые сильные стороны Python....28
1.4. Почему нужно изучать Python 3?....30
Итоги....31
Глава 2. Первые шаги....32
2.1. Установка Python....32
2.2. Базовый интерактивный режим и IDLE....34
2.3. Использование окна оболочки Python в IDLE....36
2.4. Hello, world....37
2.5. Использование интерактивного приглашения для изучения Python....38
Итоги....39
Глава 3. Краткий обзор Python....40
3.1. Общее описание Python....40
3.2. Встроенные типы данных....41
3.3. Управляющие конструкции....49
3.4. Создание модуля....53
3.5. Объектно-ориентированное программирование....54
Итоги....56
Часть 2 Основной материал....57
Глава 4. Основы....58
4.1. Отступы и оформление блоков....58
4.2. Комментарии....60
4.3. Переменные и присваивание....60
4.4. Выражения....62
4.5. Строки....63
4.6. Числа....64
4.7. Значение None....68
4.8. Получение данных от пользователя....68
4.9. Встроенные операторы....69
4.10. Основной стиль программирования на Python....69
Итоги....70
Глава 5. Списки, кортежи и множества....71
5.1. Сходство между списками и массивами....71
5.2. Индексы списков....72
5.3. Модификация списков....74
5.4. Сортировка списков....77
5.5. Другие распространенные операции со списками....79
5.6. Вложенные списки и глубокое копирование....83
5.7. Кортежи....85
5.8. Множества....89
Итоги....91
Глава 6. Строки....92
6.1. Строки как последовательности символов....92
6.2. Основные операции со строками....93
6.3. Специальные символы и экранированные последовательности....93
6.4. Методы строк....96
6.5. Преобразование объектов в строки....105
6.6. Использование метода format....107
6.7. Форматирование строк с символом %....109
6.8. Строковая интерполяция....111
6.9. Байтовые строки....112
Итоги....113
Глава 7. Словари....114
7.1. Что такое словарь?....114
7.2. Другие операции со словарями....116
7.3. Подсчет слов....119
7.4. Что может использоваться в качестве ключа?....120
7.5. Разреженные матрицы....121
7.6. Словари как кэши....122
7.7. Эффективность словарей....123
Итоги....124
Глава 8. Управляющие конструкции....125
8.1. Цикл while....125
8.2. Команда if-elif-else....126
8.3. Цикл for....127
8.4. Генераторы строк и словарей....131
8.5. Команды, блоки и отступы....133
8.6. Логические значения и выражения....136
8.7. Простая программа для анализа текстового файла....138
Итоги....139
Глава 9. Функции....140
9.1. Базовые определения функций....140
9.2. Параметры функций....141
9.3. Изменяемые объекты в качестве аргументов....145
9.4. Локальные, нелокальные и глобальные переменные....147
9.5. Присваивание функций переменным....149
9.6. Лямбда-выражения....149
9.7. Функции-генераторы....150
9.8. Декораторы....151
Итоги....153
Глава 10. Модули и правила областей видимости....154
10.1. Что такое модуль?....154
10.2. Первый модуль....155
10.3. Команда import....158
10.4. Путь поиска модулей....158
10.5. Приватные имена в модулях....160
10.6. Библиотечные и сторонние модули....161
10.7. Правила областей видимости и пространств имен Python....162
Итоги....169
Глава 11. Программы Python....170
11.1. Создание простейшей программы....171
11.2. Прямое исполнение сценариев в UNIX....176
11.3. Сценарии в macOS....177
11.4. Возможности выполнения сценариев в Windows....177
11.5. Программы и модули....178
11.6. Распространение приложений Python....183
Итоги....185
Глава 12. Работа с файловой системой....187
12.1. os и os.path против pathlib....187
12.2. Пути и имена....188
12.3. Получение информации о файлах....196
12.4. Другие операции с файловой системой....198
12.5. Обработка всех файлов в поддереве каталогов....201
Итоги....202
Глава 13. Чтение и запись файлов....205
13.1. Открытие файлов и объекты файлов....205
13.2. Закрытие файлов....206
13.3. Открытие файлов для записи и в других режимах....206
13.4. Функции чтения и записи текстовых и двоичных данных....207
13.5. Чтение и запись с использованием pathlib....210
13.6. Экранный ввод/вывод и перенаправление....210
13.7. Чтение структурированных двоичных данных с использованием модуля struct....213
13.8. Сериализация и модуль pickle....215
13.9. Модуль shelve....218
Итоги....221
Глава 14. Исключения....222
14.1. Знакомство с исключениями....222
14.2. Исключения в Python....226
14.3. Менеджеры контекста и ключевое слово with....236
Итоги....238
Часть 3 Расширенные возможности языка....239
Глава 15. Классы и объектно-ориентированное программирование....240
15.1. Определение класса....240
15.2. Переменные экземпляров....242
15.3. Методы....243
15.4. Переменные класса....245
15.5. Статические методы и методы классов....247
15.6. Наследование....249
15.7. Наследование и переменные экземпляров и классов....252
15.8. Основные возможности классов Python....253
15.9. Приватные переменные и приватные методы....255
15.10. Использование @property для создания более гибких переменных экземпляров....256
15.11. Правила области видимости и пространств имен для экземпляров классов....258
15.12. Деструкторы и управление памятью....262
15.13. Множественное наследование....263
Итоги....265
Глава 16. Регулярные выражения....266
16.1. Что такое регулярное выражение?....266
16.2. Регулярные выражения со специальными символами....267
16.3. Регулярные выражения и необработанные строки....268
16.4. Извлечение совпавшего текста из строк....270
16.5. Замена текста с использованием регулярных выражений....274
Итоги....276
Глава 17. Типы данных как объекты....277
17.1. Типы тоже являются объектами....277
17.2. Использование типов....278
17.3. Типы и пользовательские классы....278
17.4. Утиная типизация....280
17.5. Что такое специальный метод-атрибут?....281
17.6. Поведение объекта как списка....282
17.7. Специальный метод-атрибут __getitem__....283
17.8. Полноценная эмуляция списков объектами....286
17.9. Субклассирование встроенных типов....288
17.10. Когда используются специальные методы-атрибуты....290
Итоги....291
Глава 18. Пакеты....292
18.1. Что такое пакет?....292
18.2. Первый пример....293
18.3. Конкретный пример....294
18.4. Атрибут __all__....298
18.5. Правильное использование пакетов....299
Итоги....300
Глава 19. Использование библиотек Python....301
19.1. «Батарейки в комплекте»: стандартная библиотека....301
19.2. За пределами стандартной библиотеки....306
19.3. Установка дополнительных библиотек Python....307
19.4. Установка библиотек Python с использованием pip и venv....307
19.5. PyPI (CheeseShop)....309
Итоги....309
Часть 4 Работа с данными....311
Глава 20. Обработка данных в файлах....312
20.1. Проблема: бесконечный поток файлов данных....312
20.2. Сценарий: адовая поставка продуктов....313
20.3. Дальнейшая организация....315
20.4. Экономия места: сжатие и удаление....317
Итоги....320
Глава 21. Обработка файлов данных....321
21.1. Знакомство с ETL....321
21.2. Чтение текстовых файлов....322
21.3. Файлы Excel....331
21.4. Очистка данных....333
21.5. Запись файлов данных....336
Итоги....339
Глава 22. Передача данных по сети....340
22.1. Получение файлов....340
22.2. Получение данных через API....344
22.3. Структурированные форматы данных....346
22.4. Извлечение веб-данных....355
Итоги....359
Глава 23. Хранение данных....360
23.1. Реляционные базы данных....360
23.2. SQLite: использование базы данных sqlite3....361
23.3. MySQL, PostgreSQL и другие реляционные базы данных....363
23.4. Простая работа с базами данных с ORM....364
23.5. Базы данных NoSQL....371
23.6. Хранение пар «ключ-значение» в Redis....372
23.7. Документы в MongoDB....375
Итоги....378
Глава 24. Анализ данных....379
24.1. Средства Python для анализа данных....379
24.2. Jupyter Notebook....380
24.3. Python и pandas....383
24.4. Очистка данных....385
24.5. Агрегирование и преобразования данных....390
24.6. Графическое представление данных....395
24.7. Когда pandas использовать не рекомендуется....396
Итоги....396
Практический пример....397
Загрузка данных....397
Получение и разбор погодных данных....407
Приложение А Документация Python....414
А.1. Обращение к документации Python в интернете....414
А.2. Как стать питонистом....418
A.3. PEP 8 — руководство по стилю программирования Python....420
A.4. Комментарии....426
A.5. Дзен Python....435
Приложение Б Ответы на упражнения....437
Б.1. Глава 4....437
Б.2. Глава 5....440
Б.3. Глава 6....443
Б.4. Глава 7....446
Б.5. Глава 8....448
Б.6. Глава 9....450
Б.7. Глава 10....454
Б.8. Глава 11....455
Б.9. Глава 12....456
Б.10. Глава 13....457
Б.11. Глава 14....460
Б.12. Глава 15....463
Б.13. Глава 16....467
Б.14. Глава 17....469
Глава Б.15. Глава 18....470
Б.16. Глава 20....471
Б.17. Глава 21....473
Б.18. Глава 22....474
Б.19. Глава 23....477
Б.20. Глава 24....479
Вы уже умеете кодить на одном или нескольких языках программирования? Тогда настала пора пройти экспресс-курс Python. Впервые на русском языке выходит новое издание одной из самых популярных книг издательства Manning.С помощью этой книги вы можете быстро перейти от основ к управлению и структурам данных, чтобы создавать, тестировать и развертывать полноценные приложения. Наоми Седер рассказывает не только об основных особенностях языка Python, но и его объектно-ориентированных возможностях, которые появились в Python 3. Данное издание учитывает все изменения, которые произошли с языком за последние 5 лет, а последние 5 глав рассказывают о работе с большими данными.