Python. Экспресс-курс. 3 изд

Python. Экспресс-курс. 3 изд

Python. Экспресс-курс. 3 изд

Автор: Наоми Седер
Переводчик: Е. Матвеев
Дата выхода: 2019
Издательство: Издательский дом «Питер»
Количество страниц: 480
Размер файла: 10,3 МБ
Тип файла: PDF
Добавил: codelibs
 Проверить на вирусы  Дополнительные материалы 

Введение...................................................................................................15 

Предисловие..............................................................................................16 

Благодарности...........................................................................................17 

О книге......................................................................................................18 

Как использовать книгу ........................................................................................................................18 

Структура книги ......................................................................................................................................19 

Правила оформления кода...................................................................................................................20 

Упражнения ...............................................................................................................................................21 

Ответы к упражнениям .........................................................................................................................21 

Исходный код ...........................................................................................................................................21 

Системные требования .........................................................................................................................21 

Программные требования ....................................................................................................................21 

Об авторе ....................................................................................................................................................22 

Об иллюстрации на обложке ..............................................................................................................22 

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

Часть 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. Открытие файлов и объектов file .........................................................................................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 глав рассказывают о работе с большими данными.


Похожее: