Python с нуля

Python с нуля

Python с нуля
Автор: Левашов Петр
Дата выхода: 2024
Издательство: Питер
Количество страниц: 449
Размер файла: 2.3 MB
Тип файла: PDF
Добавил: codelibs
 Проверить на вирусы

Введение....17

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

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

Глава 1. Введение в программирование на Python....22

Что такое Python....22

История Python....23

Установка Python и среды разработки....23

Интерпретатор Python и REPL (Read-Eval-Print Loop)....24

Ваша первая программа на Python....25

Синтаксис и основные концепции программирования....25

Запуск программ на Python....26

Основные методы отладки....27

Стиль кода Python и лучшие практики....28

Ресурсы для изучения Python....28

Глава 2. Переменные, типы данных и операторы....30

Соглашения об именовании переменных....30

Основные типы данных....31

Числовые типы данных....32

Строковый тип данных....32

Булев тип данных....33

Приведение типов....34

Арифметические операторы....35

Операторы сравнения....36

Логические операторы....37

Приоритет и ассоциативность операторов....38

Задания для самопроверки....38

Глава 3. Управляющие структуры: условные операторы и циклы....40

Условные операторы: if, elif и else....40

Булевы выражения и операторы сравнения....41

Циклы: for и while....42

Операторы break, continue и pass....43

Вложенные циклы и условия....45

Задания для самопроверки....46

Глава 4. Функции и модули....47

Определение и вызов функций....47

Параметры и аргументы функции....48

Позиционные аргументы....48

Параметры ключевых слов....48

Параметры переменной длины....49

Операторы возврата и возвращаемые значения....50

Область действия функции и локальные переменные....51

Глобальные переменные и оператор global....52

Лямбда-функции....53

Встроенные функции....54

Модули и оператор import....54

Создание и использование модулей....55

Стандартная библиотека Python....56

Задания для самопроверки....57

Глава 5. Структуры данных: cписки, кортежи и словари....58

Списки в Python....58

Кортежи в Python....59

Словари в Python....60

Списковое включение....61

Сортировка и поиск в структурах данных....62

Продвинутые методы работы со структурами данных....63

Копирование и клонирование структур данных....63

Нарезка списка и расширенные нарезки....64

Множественные входные последовательности в списковых включениях....65

Словарные включения....66

Множества и операции с ними....67

Стеки и очереди со списками....68

Продвинутые методы сортировки....69

Бинарный поиск....70

Работа с вложенными структурами данных....71

Задания для самопроверки....72

Глава 6. Ввод и вывод....74

Стандартный ввод-вывод....74

Чтение пользовательского ввода с помощью input()....75

Ввод и вывод файлов....75

Открытие файлов....76

Чтение и запись данных....76

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

Работа с двоичными файлами....77

Обработка ошибок ввода-вывода при работе с файлами....78

Задания для самопроверки....79

Глава 7. Объектно-ориентированное программирование....81

Классы и объекты....81

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

Атрибуты и методы класса....83

Атрибуты экземпляра и методы....84

Конструкторы и деструкторы....85

Наследование....86

Переопределение метода....87

Полиморфизм....88

Абстрактные классы и интерфейсы....89

Инкапсуляция и сокрытие данных....90

Абстракция данных и инкапсуляция данных....91

Модификаторы частного доступа....92

Перегрузка операторов....93

Класс и статические методы и переменные....94

Обработка исключений в ООП....95

Сборка мусора и управление памятью....96

Продвинутые темы в ООП....96

Декораторы....96

Метаклассы....97

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

Миксины и компоновщик....98

Порядок разрешения методов (MRO)....100

Утиная типизация и EAFP....101

Monkey patch и динамические классы....102

Фабрики классов и метапрограммирование....103

Рефлексия и интроспекция ....104

Задания для самопроверки....104

Глава 8. Обработка исключений....106

Синтаксис обработки исключений....107

Синтаксис блоков try-except....107

Обработка исключений с помощью блоков except....107

Обработка нескольких исключений с помощью одного блока except....108

Использование блоков else и finally в конструкциях try-except....109

Множественные блоки Except и цепочки исключений ....110

Генерация исключений....111

Исключения, определяемые пользователем....112

Возможности блока finally....112

Лучшие практики и советы по обработке исключений....113

Сообщения об ошибках....113

Изящный сбой....114

Тестирование обработки исключений....115

Документирование....115

Задания для самопроверки....116

Глава 9. Регулярные выражения....118

Сопоставление текста с помощью регулярных выражений....119

Специальные символы и экранирование....119

Классы символов и выражения в квадратных скобках....120

Основные классы символов....121

Сокращенные классы символов....121

Вложенные классы символов....122

Квантификаторы и альтернация....122

Квантификатор *....123

Квантификатор +....123

Квантификатор ?....124

Квантификатор { }....125

Альтернация и |....125

Квантификаторы и альтернация: лучшие практики и советы....126

Группировка и захват....127

Использование круглых скобок для группировки....127

Захват совпадений с помощью групп....128

Группы без захвата....129

Именованные группы....130

Группировка и захват: лучшие практики и советы....131

Обратные ссылки и подстановки....132

Использование обратных ссылок в регулярных выражениях....133

Замена совпадений с помощью регулярных выражений....134

Обратные ссылки и подстановки: лучшие практики и советы....135

Опережающие и ретроспективные проверки....135

Положительная опережающая проверка....136

Отрицательная опережающая проверка....137

Положительная ретроспективная проверка....138

Отрицательная ретроспективная проверка....139

Лучшие практики и советы....139

Лучшие практики и советы по использованию регулярных выражений....140

Понимание проблемы перед написанием регулярного выражения....140

Простота и читабельность регулярного выражения....141

Тестирование и отладка регулярных выражений....142

Использование встроенных функций и библиотек вместо регулярных выражений....142

Баланс между гибкостью и производительностью в регулярных выражениях....143

Работа с граничными случаями и специальными символами....144

Задания для самопроверки....145

Глава 10. Работа с библиотеками и API....146

Установка и управление библиотеками с помощью pip....146

Установка библиотек с помощью pip....147

Управление установленными библиотеками с помощью pip....148

Обновление и удаление библиотек с помощью pip....149

Лучшие практики использования pip....149

Использование стандартных библиотек....150

Библиотеки и API сторонних производителей....151

Поиск и оценка библиотек и API сторонних производителей....151

Установка и импорт библиотек сторонних производителей....152

Общие библиотеки и API сторонних производителей....153

Лучшие практики использования библиотек и API сторонних производителей....153

Аутентификация и авторизация с помощью API....154

API-ключи....155

OAuth....155

Токены....156

Лучшие практики аутентификации и авторизации API....157

Запросы и ответы API....157

HTTP-запросы....158

Коды состояния ответа HTTP....159

Парсинг ответов API....160

Обработка ошибок в ответах API....160

Лучшие практики работы с API....162

Работа с данными JSON и XML....162

Парсинг данных JSON....163

Создание данных в формате JSON....164

Парсинг данных XML....164

Создание данных XML....165

Лучшие практики работы с данными JSON и XML....166

Обработка ошибок и отладка в библиотеках и API....166

Работа с ошибками в библиотеках....167

Библиотеки и API для отладки....167

Лучшие практики обработки ошибок и отладки....167

Работа с библиотеками и API Лучшие практики и советы....168

Задания для самопроверки....169

Глава 11. Отладка и тестирование....170

Техники и инструменты отладки....170

Стратегии отладки....170

Оператор print и логирование....171

Отладчик Python (PDB)....173

Отладка с помощью точек останова и точек наблюдения....174

Отладка проблем с памятью....175

Профилирование и оптимизация производительности....176

Отладка распространенных ошибок и проблем....177

Ошибки синтаксиса....177

Ошибки отступов....178

Ошибки именования....178

Ошибки типов....179

Ошибки атрибутов....180

Ошибки индекса и ключа....181

ValueError и TypeError....182

Ошибки ImportError и ModuleNotFound....183

FileNotFoundError и IOError....185

Обработка исключений и возвратов....186

Отладка в интегрированных средах разработки (IDE)....187

Отладка в PyCharm....188

Отладка в Visual Studio Code....189

Отладка в Eclipse с помощью PyDev....190

Отладка в блокнотах Jupyter Notebooks....191

Функции и советы по отладке, специфичные для IDE....192

Введение в тестирование и разработку на основе тестирования (TDD)....193

Важность тестирования....193

Виды тестирования....194

Обзор разработки на основе тестирования (TDD)....195

Юнит-тестирование в Python....196

Написание тестируемого кода....197

Автоматизация тестирования и непрерывная интеграция....198

Юнит-тестирование с помощью Pytest....199

Установка и настройка Pytest....200

Написание тестовых функций с помощью Pytest....201

Фикстуры Pytest. Настройка и завершение....202

Утверждения и соответствия (matchers) в Pytest....204

Запуск и настройка Pytest....204

Параметризация тестов и тестирование на основе данных....206

Плагины и расширения Pytest....207

Тестовое покрытие и качество кода....208

Понятие тестового покрытия....208

Измерение тестового покрытия с помощью Coverage.py....209

Анализ отчетов о покрытии....210

Улучшение тестового покрытия....211

Метрики качества кода....212

Линтинг и статический анализ....213

Интеграция проверок качества кода в рабочий процесс....215

Интеграционное тестирование и непрерывная интеграция (CI)....216

Написание интеграционных тестов....216

Инструменты и фреймворки для интеграционного тестирования....217

Непрерывная интеграция: обзор....218

Настройка CI-пайплайна....220

Преимущества сочетания интеграционного тестирования и CI....221

Отладка и тестирование: лучшие практики и советы....222

Общие советы по отладке....222

Лучшие практики тестирования....223

Советы по разработке на основе тестирования....224

Код-ревью и совместная работа....225

Непрерывное совершенствование отладки и тестирования....226

Баланс между покрытием тестами и сопровождаемостью....227

Чего следует избегать при отладке и тестировании....228

Задания для самопроверки....229

Глава 12. Введение в Data Science на Python....231

Что такое Data Science....231

Роль Python в Data Science....232

Обзор библиотек и инструментов....233

Применение Data Science в реальном мире с помощью Python....235

Установка библиотек Data Science в Python....236

NumPy: массивы и матрицы....237

Создание массивов NumPy....238

Атрибуты и свойства массива....239

Индексация и нарезка массивов....240

Операции с массивами и трансляция....241

Матричные операции и линейная алгебра....243

Продвинутые возможности NumPy....245

Практическое применение NumPy в Data Science....246

Pandas: манипулирование данными и их анализ....248

Ключевые структуры данных: Series и DataFrame....249

Импорт и экспорт данных....250

Очистка и предварительная обработка данных....251

Выбор и индексация данных....253

Агрегирование и группировка данных....254

Слияние, объединение и конкатенация данных....255

Функциональность временных рядов и дат....257

Визуализация с помощью Pandas....258

Практическое применение Pandas в Data Science....259

Matplotlib: визуализация данных....261

Архитектура Matplotlib....261

Создание основных типов графиков....262

Настройка графиков....264

Продвинутые техники построения графиков....265

Сохранение и экспорт графиков....266

Интеграция Matplotlib с Pandas....267

Лучшие практики и советы по визуализации данных с помощью Matplotlib....269

Seaborn: продвинутая визуализация данных....270

Seaborn и Matplotlib: ключевые различия....271

Типы графиков Seaborn....272

Настройка графиков Seaborn....278

Темы и стили Seaborn....279

Интеграция Seaborn с Pandas....280

Продвинутые техники Seaborn....281

Лучшие практики и советы по визуализации данных с помощью Seaborn....283

Scikit-learn: машинное обучение....284

Ключевые понятия и терминология....284

Предварительная обработка данных с помощью Scikit-learn....285

Алгоритмы контролируемого обучения....287

Алгоритмы неконтролируемого обучения....289

Оценка и выбор модели....290

Настройка гиперпараметров....291

Интеграция Scikit-learn с Pandas и Numpy....292

Лучшие практики и советы по машинному обучению с помощью Scikit-learn....294

TensorFlow: глубокое обучение....295

Ключевые компоненты TensorFlow....295

Архитектура TensorFlow....297

TensorFlow Eager Execution....298

Построение нейронных сетей с помощью TensorFlow....299

Обучение и оценка моделей в TensorFlow....300

Расширения и библиотеки TensorFlow....301

Практическое применение TensorFlow в глубоком обучении....303

Keras: высокоуровневое глубокое обучение....304

Ключевые особенности Keras....305

Параметры бэкенда Keras....305

Построение нейронных сетей с помощью Keras....306

Обучение и оценка моделей в Keras....308

Сохранение и загрузка моделей в Keras....310

Настройка Keras: пользовательские слои, функции потерь и метрики....311

Практическое применение Keras в глубоком обучении....312

Обработка естественного языка с помощью NLTK....315

Установка и настройка NLTK....316

Токенизация....316

Морфологическая разметка (POS)....317

Распознавание именованных сущностей (NER)....319

Парсинг и чанкинг....320

Классификация текста с помощью NLTK....322

Анализ тональности текста....324

Суммаризация текста....325

Практическое применение NLTK в NLP....327

Лучшие практики и советы по Data Science....328

Понимание проблемы и определение целей....328

Сбор и предварительная обработка данных....329

Конструирование и выбор признаков....330

Выбор и оценка моделей....331

Интерпретируемость и объяснимость....332

Коммуникация и визуализация....333

Масштабируемость и развертывание....334

Совместная работа и контроль версий....336

Постоянное обучение и совершенствование....337

Этические аспекты в Data Science....338

Задания для самопроверки....339

Глава 13. Веб-скрапинг с помощью Python....341

Области применения веб-скрапинга....342

Правовые и этические соображения....343

Компоненты веб-страницы....344

Рабочий процесс веб-скрапинга....345

Основы HTML....346

Структура HTML-документа....346

Теги и элементы HTML....347

Атрибуты HTML....349

Таблицы и списки HTML....350

HTML-формы и элементы ввода....352

Концепция объектной модели документа (DOM)....353

Библиотеки и инструменты веб-скрапинга....354

Requests: HTTP для людей....354

Beautiful Soup: парсинг и навигация по HTML....355

lxml: высокопроизводительный парсер HTML и XML....357

Selenium: автоматизация браузера для веб-скрапинга....358

Scrapy: комплексная платформа для веб-скрапинга....360

Выбор правильного инструмента для веб-скрапинга....362

Извлечение данных из веб-страниц....363

Определение целевых данных....363

Изучение исходного кода веб-страницы....364

Навигация по структуре HTML....365

Работа с пагинацией и бесконечной прокруткой....366

Работа с динамическим содержимым и JavaScript....367

Работа с формами и сессиями....368

Взаимодействие с формами....369

Отправка форм и работа с перенаправлениями....369

Управление сессиями и файлами куки....370

Обработка аутентификации и входа в систему....371

Советы по работе с формами и сессиями....373

Парсинг XML и JSON....374

Парсинг XML в Python....374

Парсинг JSON в Python....375

Конвертация данных из XML в JSON и наоборот....376

Работа с API и структурированными данными....377

Продвинутые методы веб-скрапинга....378

Обработка AJAX-запросов и асинхронная загрузка....378

Обход капчи и мер по борьбе с ботами....380

Работа с прокси-серверами и ротация IP-адресов....381

Веб-скрапинг с использованием многопоточности и параллелизма....383

Эффективное хранение и обработка полученных данных....385

Мониторинг и сопровождение веб-скраперов....386

Этические и правовые соображения....387

Лучшие практики и советы по веб-скрапингу....388

Планирование проекта веб-скрапинга....388

Выбор правильных инструментов и библиотек....389

Относитесь с уважением к ресурсам сайта....390

Обработка ошибок и механизмы повторной попытки ....390

Внедряйте надежные решения для хранения данных....391

Мониторинг и сопровождение веб-скраперов....392

Документация кода и процессов веб-скрапинга....393

Задания для самопроверки....394

Глава 14. Программирование графических интерфейсов с помощью Python....396

Преимущества приложений с GUI....396

Популярные библиотеки GUI....397

Выбор правильной GUI-библиотеки ....398

Основные концепции программирования GUI....399

Наборы инструментов и фреймворки GUI....400

Tkinter....400

PyQt и PySide....401

Kivy....403

wxPython....404

PyGTK и PyGObject....405

PySimpleGUI....406

Сравнение наборов инструментов и фреймворков GUI....407

Создание GUI-приложений с помощью Tkinter....408

Установка и настройка Tkinter....409

Создание базового окна Tkinter....409

Виджеты Tkinter и их свойства....410

Менеджеры геометрии: Pack, Grid и Place....413

Обработка событий в Tkinter....415

Создание наследуемых виджетов и компонентов....417

Создание приложения Tkinter: пошаговый пример....419

Отладка и устранение неполадок в приложениях Tkinter....421

Продвинутые техники программирования GUI....422

Работа с несколькими окнами и диалогами....422

Настройка стилей и тем виджетов....424

Реализация функциональности перетаскивания....426

Создание и управление таймерами....428

Обработка событий клавиатуры и мыши....430

Многопоточность и конкурентность в GUI-приложениях ....432

Интеграция веб-контента и API....434

Развертывание и распространение....436

Лучшие практики и советы по программированию GUI....438

Проектирование удобных для пользователя интерфейсов....438

Организация и модульность кода....439

Оптимизация производительности....440

Обработка ошибок и обратная связь с пользователем....441

Доступность и интернационализация....442

Тестирование и отладка....443

Документация и руководства пользователя....445

Задания для самопроверки....446

Заключение....447

Список источников....448

Добро пожаловать в увлекательный мир программирования на языке Python! Независимо от того, начинающий вы или опытный программист, вы вооружитесь знаниями и навыками, необходимыми для успешного освоения языка. Python, известный своей простотой и универсальностью, завоевал огромную популярность среди разработчиков во всем мире. Благодаря удобному синтаксису и широкой библиотечной поддержке он идеально подходит для решения широкого спектра задач – от веб-разработки и анализа данных до программирования графических интерфейсов. Книга представляет собой комплексное руководство по изучению языка Python с нуля.


Похожее:

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

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