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

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

Python. Экспресс-курс. 4 изд
Автор: Седер Наоми
Оригинальное название: Quick Python Book. 4 Ed
Оригинальный правообладатель: Manning Publications
Дата выхода: 2026
Издательство: Питер
Количество страниц: 608
Размер файла: 3,4 МБ
Тип файла: PDF
Добавил: it-books

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

Часть 1 Первые шаги....39

Глава 1. Знакомство с Python....40

1.1. Почему стоит использовать Python?....41

1.2. С чем хорошо справляется Python....41

1.2.1. Python прост в использовании....42

1.2.2. Выразительность Python....42

1.2.3. Удобочитаемость кода Python....43

1.2.4. Полнота Python: батарейки в комплекте....44

1.2.5. Богатая экосистема сторонних библиотек....44

1.2.6. Кросс-платформенность....44

1.2.7. Свободное распространение....45

1.3. Что в Python стоит улучшить....46

1.3.1. Не самый быстрый язык....46

1.3.2. Python не применяет принудительное определение типов переменных во время компиляции....46

1.3.3. Слабая поддержка мобильных устройств....47

1.3.4. Слабая поддержка многоядерных систем....48

Итоги....48

Глава 2. Первые шаги....49

2.1. Парадокс выбора: вам какой Python?....49

2.1.1. Версии Python....50

2.1.2. Как скачать Python....50

2.1.3. Устройства, платформы и операционные системы....51

2.1.4. Среды и инструменты....51

2.2. Colaboratory: Jupyter Notebooks в облаке....52

2.2.1. Доступ к исходному коду блокнотов....52

2.2.2. Начало работы с Colaboratory....52

2.2.3. Версия Python для Colaboratory....55

2.3. Написание и запуск программ в Colaboratory....56

2.3.1. Hello, World....56

2.3.2. Работа с ошибками в Jupyter....57

2.4. Применение функций help и dir для изучения Python....58

2.5. Использование инструментов ИИ для написания кода на Python....61

2.5.1. Преимущества инструментов ИИ....61

2.5.2. Недостатки инструментов ИИ....61

2.5.3. Варианты ИИ-инструментов....62

Итоги....63

Глава 3. Краткий обзор Python....64

3.1. Краткая характеристика Python....64

3.2. Встроенные типы данных....65

3.2.1. Числа....65

3.2.2. Списки ....68

3.2.3. Кортежи....70

3.2.4. Строки....70

3.2.5. Словари....72

3.2.6. Множества....72

3.2.7. Файловые объекты....73

3.3. Аннотации типов в Python....74

3.4. Управляющие конструкции....74

3.4.1. Логические значения и выражения....74

3.4.2. Оператор if-elif-else....75

3.4.3. Структурное сопоставление шаблонов при помощи оператора match....75

3.4.4. Цикл while....76

3.4.5. Цикл for....76

3.4.6. Определение функции....77

3.4.7. Исключения....78

3.4.8. Обработка контекста с использованием ключевого слова with....79

3.5. Создание модуля....79

3.6. Объектно ориентированное программирование....81

Итоги....82

Часть 2 Основы....83

Глава 4. Основы основ....84

4.1. Отступы и блочная структура....84

4.2. Как определить комментарий....86

4.3. Переменные и присваивания....86

4.4. Необязательные аннотации типов в Python....89

4.4.1. Когда использовать аннотации типов?....91

4.4.2. Когда не использовать аннотации типов?....91

4.4.3. Прогрессивная типизация....91

4.5. Выражения....92

4.6. Строки....92

4.7. Числа....93

4.7.1. Встроенные числовые функции....95

4.7.2. Расширенные числовые функции....95

4.7.3. Числовые вычисления....96

4.7.4. Комплексные числа....96

4.7.5. Расширенные функции комплексных чисел....97

4.8. Значение None....98

4.9. Получение пользовательского ввода....98

4.10. Встроенные операторы....99

4.11. Основные элементы стиля Python....99

Итоги....100

Глава 5. Списки, кортежи и множества....101

5.1. Списки подобны массивам....102

5.2. Индексы списка....103

5.3. Модификация списков....105

5.4. Сортировка списков....108

5.4.1. Пользовательская сортировка....109

5.4.2. Функция sorted()....111

5.5. Другие операции со списками....111

5.5.1. Проверка принадлежности элемента списку оператором in....111

5.5.2. Конкатенация списков оператором ....112

5.5.3. Инициализация списков оператором ....112

5.5.4. Получение наименьшего или наибольшего элемента функциями min и max....113

5.5.5. Поиск по списку при помощи метода index....113

5.5.6. Подсчет вхождений методом count....114

5.5.7. Краткое описание операций со списками....114

5.6. Вложенные списки и глубокие копии....115

5.7. Кортежи....117

5.7.1. Базовые сведения о кортежах....118

5.7.2. Одноэлементные кортежи должны содержать запятую....120

5.7.3. Упаковка и распаковка кортежей....120

5.7.4. Преобразования между списками и кортежами....122

5.8. Множества....123

5.8.1. Операции с множествами....123

5.8.2. Замороженные множества....124

5.9. Практическая работа: изучение списка....125

5.9.1. Зачем решать эту задачу устаревшим способом?....125

5.9.2. Решение задачи при помощи кода, сгенерированного ИИ....126

5.9.3. Решения и обсуждение....127

Итоги....129

Глава 6. Строки....130

6.1. Строки как последовательности символов....130

6.2. Основные операции со строками....131

6.3. Специальные символы и экранирующие последовательности....132

6.3.1. Основные экранирующие последовательности....132

6.3.2. Числовые (восьмеричные и шестнадцатеричные) и экранирующие последовательности Unicode....133

6.3.3. Вывод и обработка строк со специальными символами....134

6.4. Строковые методы....135

6.4.1. Строковые методы split и join....135

6.4.2. Преобразование строк в числа....137

6.4.3. Удаление лишних пробельных символов....138

6.4.4. Поиск в строках....140

6.4.5. Изменение строк....142

6.4.6. Изменение строк при помощи операций со списками....144

6.4.7. Полезные методы и константы....145

6.5. Преобразование объектов в строки....146

6.6. Использование метода format....148

6.6.1. Метод format и позиционные параметры....148

6.6.2. Метод format и именованные параметры....149

6.6.3. Спецификаторы формата....149

6.7. Интерполяция строк с помощью f-строк....150

6.8. Форматирование строк с помощью %....151

6.8.1. Применение форматирующих последовательностей....152

6.8.2. Именованные параметры и форматирующие последовательности....153

6.9. Байтовые объекты....154

6.10. Практическая работа: предварительная обработка текста....155

6.10.1. Решение задачи при помощи кода, сгенерированного ИИ....156

6.10.2. Решения и обсуждение....157

Итоги ....159

Глава 7. Словари....160

7.1. Что такое словарь?....161

7.2. Другие операции со словарями....163

7.3. Подсчет слов....166

7.4. Что может служить ключом?....167

7.5. Разреженные матрицы....168

7.6. Словари как кэши....170

7.7. Эффективность словарей....171

7.8. Практическая работа: подсчет слов....171

7.8.1. Решение задачи с помощью кода, сгенерированного ИИ....171

7.8.2. Решения и обсуждение....172

Итоги....175

Глава 8. Управляющие конструкции....176

8.1. Оператор if-elif-else....176

8.2. Структурное сопоставление шаблонов с помощью оператора match....178

8.3. Цикл while....179

8.4. Цикл for....180

8.4.1. Функция range....181

8.5. Управление диапазоном с помощью аргументов для начала и шага....182

8.6. Цикл for и распаковка кортежа....183

8.7. Функция enumerate....183

8.8. Функция zip....183

8.9. Генераторы списков, множеств и словарей....184

8.9.1. Генераторные выражения....185

8.10. Операторы, блоки и отступы....186

8.11. Логические значения и выражения....189

8.11.1. Использование объектов Python как логических значений....190

8.11.2. Операторы сравнения и логические операторы....190

8.12. Простая программа для анализа текстового файла....192

8.13. Практическая работа: рефакторинг word_count....193

8.13.1. Решение задачи при помощи кода, сгенерированного ИИ....193

8.13.2. Решения и обсуждение....194

Итоги....196

Глава 9. Функции....197

9.1. Базовые определения функций....197

9.2. Параметры функций....199

9.2.1. Позиционные параметры....199

9.2.2. Передача аргументов по имени параметра....200

9.2.3. Переменное количество аргументов....201

9.2.4. Совмещение способов передачи аргументов....203

9.3. Изменяемые объекты в качестве аргументов....203

9.3.1. Изменяемые объекты в качестве значений по умолчанию....204

9.4. Локальные, нелокальные и глобальные переменные....206

9.5. Присваивание функций переменным....208

9.6. Лямбда-выражения....209

9.7. Функции-генераторы....210

9.8. Декораторы....211

9.9. Практическая работа: полезные функции....213

9.9.1. Решение задачи при помощи кода, сгенерированного ИИ....213

9.9.2. Решения и обсуждение....213

Итоги ....220

Глава 10. Модули и правила области видимости....221

10.1. Что такое модуль?....221

10.2. Первый модуль....222

10.3. Оператор import....226

10.4. Путь поиска модулей....227

10.4.1. Где следует размещать собственные модули....228

10.5. Приватные имена в модулях....230

10.6. Модули стандартной библиотеки Python и сторонние....231

10.7. Правила области видимости и пространств имен в языке Python....232

10.7.1. Встроенное пространство имен....236

10.8. Практическая работа: создание модуля....239

10.8.1. Решение задачи при помощи кода, сгенерированного ИИ....240

10.8.2. Решения и обсуждение....240

Итоги....248

Глава 11. Программы на Python....249

11.1. Создание простейшей программы....250

11.1.1. Запуск скрипта из командной строки....250

11.1.2. Аргументы командной строки....251

11.1.3. Выполнение кода только как основного скрипта....252

11.1.4. Перенаправление ввода и вывода скрипта....253

11.1.5. Модуль argparse....254

11.1.6. Применение модуля fileinput....256

11.2. Запуск скриптов в разных операционных системах....258

11.2.1. Создание скрипта, исполняемого непосредственно в UNIX....258

11.2.2. Скрипты на macOS....259

11.2.3. Параметры выполнения скриптов в Windows....259

11.3. Программы и модули....260

11.4. Распространение приложений на Python....266

11.4.1. Wheel-пакеты....266

11.4.2. zipapp и pex....266

11.4.3. py2exe и py2app....267

11.4.4. Создание исполняемых программ с помощью freeze....267

11.5. Практическая работа: создание программы....268

11.5.1. Решение задачи при помощи кода, сгенерированного ИИ....268

11.5.2. Решения и обсуждение....269

Итоги ....276

Глава 12. Работа с файловой системой....277

12.1. Модули os и os.path в сравнении с pathlib....278

12.2. Пути и путевые имена....278

12.2.1. Абсолютные и относительные пути....279

12.2.2. Текущий рабочий каталог....280

12.2.3. Обращение к каталогам с помощью pathlib....281

12.2.4. Управление путями....282

12.2.5. Управление путями с помощью pathlib....284

12.2.6. Полезные константы и функции....286

12.3. Получение информации о файлах....287

12.3.1. Получение информации о файлах с помощью scandir....288

12.4. Другие операции с файловой системой....289

12.4.1. Другие операции с файловой системой при помощи pathlib....292

12.5. Обработка всех файлов в поддереве каталога....294

12.6. Практическая работа: другие операции с файлами....295

12.6.1. Решение задачи при помощи кода, сгенерированного ИИ....296

12.6.2. Решения и обсуждение....296

Итоги....304

Глава 13. Чтение и запись файлов....307

13.1. Открытие файлов и файловые объекты....308

13.2. Закрытие файлов....309

13.3. Открытие файлов для записи и в других режимах....309

13.4. Функции для чтения и записи текстовых и двоичных данных....310

13.4.1. Двоичный режим....312

13.5. Чтение и запись при помощи pathlib....313

13.6. Консольный ввод-вывод и перенаправление....314

13.7. Обработка структурированных двоичных данных с помощью модуля struct....317

13.8. Пиклинг объектов в файлы....320

13.8.1. Когда лучше обойтись без пиклинга....323

13.9. Сохранение объектов в модуле shelve....324

13.10. Практическая работа: последние доработки утилиты wc....326

13.10.1. Решение задачи при помощи кода, сгенерированного ИИ....326

13.10.2. Решения и обсуждение....327

Итоги....333

Глава 14. Исключения....334

14.1. Введение в исключения....335

14.1.1. Общие принципы обработки ошибок и исключений....335

14.1.2. Более формальное определение исключений....337

14.1.3. Обработка разных типов исключений....338

14.2. Исключения в Python....338

14.2.1. Типы исключений в языке Python....339

14.2.2. Возникновение исключений....341

14.2.3. Перехват и обработка исключений....342

14.2.4. Установление новых исключений....344

14.2.5. Группы исключений....345

14.2.6. Отладка программ с помощью оператора assert....346

14.2.7. Иерархия наследования исключений....347

14.2.8. Пример: программа Python для записи на диск....347

14.2.9. Пример: исключения в обычных вычислениях....348

14.2.10. Где можно использовать исключения....350

14.3. Контекстные менеджеры с ключевым словом with....350

14.4. Практическая работа: добавление исключений....352

14.4.1. Решение задачи при помощи кода, сгенерированного ИИ....352

14.4.2. Решения и обсуждение....352

Итоги ....360

Часть 3 Расширенные возможности языка....361

Глава 15. Классы и объектно ориентированное программирование....362

15.1. Определение классов....362

15.1.1. Использование экземпляра класса как структуры или записи....363

15.2. Переменные экземпляра....364

15.3. Методы....365

15.4. Классовые переменные....367

15.4.1. Необычное поведение классовых переменных....369

15.5. Статические методы и методы классов....370

15.5.1. Статические методы....370

15.5.2. Методы класса....371

15.6. Наследование....372

15.7. Наследование с использованием классовых переменных и переменных экземпляра....375

15.8. Резюмируем: основные возможности классов Python....376

15.9. Закрытые переменные и закрытые методы....379

15.10. Использование декоратора property для гибкой работы с переменными экземпляра....380

15.11. Правила определения области видимости и пространств имен для экземпляров класса....382

15.12. Деструкторы и управление памятью....386

15.13. Множественное наследование....386

15.14. Практическая работа: HTML-классы....389

15.14.1. Решение задачи при помощи кода, сгенерированного ИИ....389

15.14.2. Решения и обсуждение....390

Итоги....393

Глава 16. Регулярные выражения....394

16.1. Что такое регулярное выражение?....394

16.2. Регулярные выражения со специальными символами....395

16.3. Регулярные выражения и сырые (необработанные) строки....397

16.3.1. Сырые строки спешат на помощь....398

16.4. Извлечение из строк текста, совпадающего с шаблоном....399

16.5. Замена текста при помощи регулярных выражений....403

16.5.1. Использование функции с методом sub....403

16.6. Практическая работа: нормализация телефонных номеров....404

16.6.1. Решение задачи при помощи кода, сгенерированного ИИ....405

16.6.2. Решения и обсуждение....405

Итоги....410

Глава 17. Типы данных как объекты....412

17.1. Типы данных тоже являются объектами....412

17.2. Работа с типами данных....413

17.3. Типы данных и пользовательские классы....414

17.4. Утиная (неявная) типизация....416

17.5. Что такое специальный метод?....417

17.6. Придание объекту свойств списка....418

17.7. Специальный метод __getitem__....419

17.7.1. Как это работает....420

17.7.2. Реализация полной функциональности списка....421

17.8. Наделение объекта полной функциональностью списка....422

17.9. Наследование от встроенных типов....425

17.9.1. Наследование от list....425

17.9.2. Наследование от UserList....426

17.10. Когда следует применять специальные методы....427

17.11. Практическая работа: создание словаря со строковыми ключами....428

17.11.1. Решение задачи при помощи кода, сгенерированного ИИ....429

17.11.2. Решения и обсуждение....429

Итоги....432

Глава 18. Пакеты....433

18.1. Что такое пакет?....434

18.2. Первый пример: mathproj....434

18.3. Реализация пакета mathproj....435

18.3.1. Файлы __init__.py в пакетах....437

18.3.2. Основы использования пакета mathproj....438

18.3.3. Загрузка подпакетов и подмодулей....438

18.3.4. Операторы import внутри пакетов....439

18.4. Атрибут __all__....440

18.5. Правильное использование пакетов....442

18.6. Практическая работа: создание пакета....442

18.6.1. Решение задачи при помощи кода, сгенерированного ИИ....442

18.6.2. Решения и обсуждение....443

Итоги....455

Глава 19. Работа с библиотеками Python....456

19.1. Все включено: стандартная библиотека....457

19.1.1. Управление различными типами данных....457

19.1.2. Файловые операции и хранение данных....459

19.1.3. Доступ к службам операционной системы....459

19.1.4. Работа с интернет-протоколами и форматами данных....460

19.1.5. Средства разработки и отладки, службы времени выполнения....461

19.2. За пределами стандартной библиотеки....462

19.3. Установка дополнительных библиотек Python....462

19.4. Индекс пакетов Python (The Python Package Index)....463

19.5. Установка библиотек Python при помощи pip и venv....463

19.5.1. Установка с флагом --user....464

19.5.2. Виртуальные среды....465

19.5.3. Прочие варианты....466

Итоги ....466

Часть 4 Работа с данными....467

Глава 20. Общая подготовка файлов....468

20.1. Проблема: бесконечный поток файлов данных....468

20.2. Сценарий: кошмарный товарный фид....469

20.3. Дальнейшее структурирование....472

20.4. Оптимизация хранения: сжатие и упорядочивание....473

20.4.1. Сжатие файлов....473

20.4.2. Упорядочивание файлов....475

Итоги....477

Глава 21. Обработка файлов данных....478

21.1. Знакомство с ETL....479

21.2. Чтение текстовых файлов....479

21.2.1. Текстовые кодировки: ASCII, Unicode и другие....479

21.2.2. Неструктурированный текст....481

21.2.3. Плоские (простые текстовые) файлы с разделителями....484

21.2.4. Модуль csv....486

21.2.5. Чтение csv-файла как списка словарей....489

21.3. Файлы Excel....489

21.4. Очистка данных....492

21.4.1. Очистка....492

21.4.2. Сортировка....493

21.4.3. Сложности и подводные камни очистки данных....494

21.5. Запись файлов данных....495

21.5.1. CSV и другие файлы с разделителями....495

21.5.2. Запись файлов Excel....496

21.5.3. Архивирование файлов данных....497

21.6. Практическая работа: метеорологические наблюдения....497

21.6.1. Решение задачи при помощи кода, сгенерированного ИИ....498

21.6.2. Решения и обсуждение....498

Итоги....502

Глава 22. Получение данных по сети....503

22.1. Загрузка файлов....503

22.1.1. Получение файлов с FTP-сервера с помощью Python....504

22.1.2. Получение файлов с помощью SFTP....506

22.1.3. Получение файлов по протоколу HTTPHTTPS....506

22.2. Получение данных через API....508

22.3. Структурированные форматы данных....510

22.3.1. Данные в формате JSON....511

22.3.2. Данные в формате XML....515

22.4. Сбор данных с веб-страниц (скрейпинг)....518

22.5. Практическая работа: сбор метеоданных....522

22.5.1. Решение задачи при помощи кода, сгенерированного ИИ....523

22.5.2. Решения и обсуждение....523

Итоги....526

Глава 23. Сохранение данных....527

23.1. Реляционные базы данных....528

23.1.1. API баз данных (DB-API) в Python....528

23.2. SQLite: работа с базой данных sqlite3....528

23.3. MySQL, PostgreSQL и другие реляционные базы данных....531

23.4. Оптимизация работы с базами данных при помощи объектно-реляционного отображения (ORM)....532

23.4.1. SQLAlchemy....532

23.4.2. Изменение схемы базы данных при помощи Alembic....537

23.5. Нереляционные базы данных (NoSQL)....540

23.6. Хранилища ключ–значение на примере Redis....541

23.7. Документы в MongoDB....545

23.8. Практическая работа: создание базы данных....550

Итоги....550

Глава 24. Анализ данных....551

24.1. Средства Python для анализа данных....551

24.1.1. Преимущества Python для анализа данных....551

24.1.2. Python может быть эффективнее электронных таблиц....552

24.2. Python и pandas....552

24.2.1. Почему стоит использовать pandas?....553

24.2.2. Установка pandas....553

24.2.3. Датафреймы....554

24.3. Очистка данных....556

24.3.1. Загрузка и сохранение данных с помощью pandas....556

24.3.2. Очистка данных при помощи датафрейма....558

24.4. Агрегирование и обработка данных....561

24.4.1. Слияние датафреймов....561

24.4.2. Выборка данных....562

24.4.3. Группировка и агрегирование....563

24.5. Построение графика данных....565

24.6. Когда не стоит использовать pandas ....566

Итоги....567

Практический пример....568

Загрузка данных....569

Парсинг данных по периодам наблюдений (инвентаризациям)....572

Выбор станции по широте и долготе....574

Выбор станции и получение ее метаданных....576

Получение и парсинг метеоданных....578

Получение данных....578

Парсинг метеоданных....579

Сохранение метеоданных в базе данных (необязательно)....582

Выборка данных и построение графиков....583

Использование pandas для графического представления данных....584

Приложение. Руководство по документации Python....585

П.1. Доступ к онлайн-документации Python....585

П.2. Лучшие практики: как стать питонистом....586

П.2.1. Десять советов о том, как стать питонистом....586

П.3. PEP 8: Стандарт стилевого оформления кода Python....588

П.3.1. Введение....588

П.3.2. Оформление кода....589

П.4. Комментарии....594

П.4.1. Правила именования....596

П.4.2. Рекомендации по программированию....602

П.4.3. Другие руководства по стилю Python....605

П.5. Дзен Python....605

Введение....26

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

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

Об этой книге....32

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

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

Автоматизация систем. Высокопроизводительные веб-приложения. Облачные и серверные службы. Передовые технологии искусственного интеллекта.

Чем бы вы ни занимались, умение читать и писать на Python всегда пригодится!

Эта книга уже помогла сотням тысяч разработчиков уверенно освоить этот популярный и широко востребованный язык программирования. Вы познакомитесь с новейшими функциями и библиотеками и научитесь писать умный и продуктивный код, используя современные ИИ-ассистенты, откроете основные возможности Python, предназначенные для решения ключевых задач скриптинга, разработки приложений и аналитики данных.

Базовых знаний программирования достаточно, чтобы перейти от теории к практике. Интерактивные блокноты, контрольные вопросы и практические работы в конце глав помогут закрепить знания и претворить их в рабочие навыки. А рекомендации по составлению промптов и взаимодействию со средствами ИИ подскажут, как быстрее и эффективнее справляться с повседневными прикладными задачами.

В работе над книгой принимал участие ReadIT Club. Научный редактор книги Тимур Тимирханов занимается подготовкой технической документации в ИТ-компании Dashboard System. Выполнял локализацию Mozilla Firefox, плагинов и руководств к нему.

5 причин купить книгу

  1. Максимально быстрый старт — уже через несколько глав вы будете писать реальный рабочий код.
  2. Актуальность — работа с ИИ-инструментами и современные возможности Python.
  3. Практика превыше всего — десятки упражнений, разбор решений ИИ и реальные проекты.
  4. Четкая структура и ясный язык — никаких лишних отступлений, только полезная информация.
  5. Универсальность — подходит и новичкам с базовыми навыками программирования, и разработчикам, переходящим на Python.

Похожее:

Список отзывов:

Нет отзывов к книге.