Владимир Дронов | Python. Уроки для начинающих (2026) [PDF]
Автор: Владимир Дронов
Издательство: БХВ-Петербург
Серия: Для начинающих
ISBN: 978-5-9775-2126-0
Жанр: Компьютерная литература
Формат: PDF
Качество: OCR
Иллюстрации: Черно-белые
Описание:В книге 22 урока, более 40 практических упражнений и заданий для самостоятельной работы.
Описан язык Python: его основы, типы данных, управляющие выражения, функции объекты, классы, исключения, модули и пакеты. Рассмотрены более развитые инструменты языка: установка и применение дополнительных библиотек, многопоточное, многопроцессное и конкурентное программирование, аннотации типов.
Рассказано о практическом применении Python и различных библиотек для загрузки данных из Интернета, парсинга веб-страниц, работы с базами данных, программирования графических и веб-приложений, математических расчетов, вывода графиков и работы с искусственным интеллектом. Электронный архив на сайте издательства содержит все примеры из книги.
Для начинающих программистов
Оглавление
Предисловие ................................................................................................................... 13
Почему именно Python? ................................................................................................................ 13
Почему эта книга? ......................................................................................................................... 14
Использованные программные продукты ................................................................................... 14
Типографские соглашения ............................................................................................................ 15
ЧАСТЬ 1. ЯЗЫК PYTHON: ОСНОВНЫЕ ИНСТРУМЕНТЫ .............................. 17
Урок 1. Введение в Python, часть 1 ............................................................................ 19
1.1. Интерактивный режим Python ............................................................................................... 19
1.2. Операторы. Приоритет операторов. Скобки ........................................................................ 20
1.3. Функции .................................................................................................................................. 23
1.4. Переменные. Присваивание ................................................................................................... 24
1.5. Типы данных ........................................................................................................................... 26
1.5 .1. Числа - целые и вещественные ................................................................................. 26
1.5.2. Строки ........................................................................................................................... 27
1.5.3. Списки ........................................................................................................................... 28
1.5.4. Кортежи ......................................................................................................................... 29
1.5.5. Словари ......................................................................................................................... 29
1.6. Стандартная библиотека. Модули. Импорт ......................................................................... 30
1.7. Объекты и классы ................................................................................................................... 32
1.7.1. Введение в объекты и классы ...................................................................................... 32
1.7.2. Объектная природа Python .......................................................................................... 33
1.8. Программные ошибки и сообщения о них ........................................................................... 34
1.9. Что еще следует знать о Python в целом, часть 1 ................................................................. 35
Урок 2. Введение в Python, часть 2 ............................................................................ 38
2.1. Работа с данными разных типов ............................................................................................ 38
2.1.1. Выяснение типа данных, к которому относится значение ....................................... 38
2.1.2. Преобразование значения в другой тип данных ........................................................ 39
2.2. Написание программ на Python ............................................................................................. 39
2.2.1. Ввод данных ................................................................................................................. .40
2.2.2. Вывод данных .............................................................................................................. .40
2.2.3. Написание программ в среде IDLE Shell ................................................................... .41
2.2.4. Альтернативные инструменты для написания программ ........................................ .44
2.2.5. Комментарии ............................................................................................................... .45
2.2.6. Правила набора программного кода на Python ......................................................... .45
2.2.7. Сообщения об ошибках в коде программ ................................................................. .47
2.3. Что еще следует знать о Python в целом, часть 2 ................................................................ .47
Урок 3. Логический тип данных, управляющие выражения и блоки ............... .49
3.1. Логический тип данных ........................................................................................................ .49
3 .1.1. Введение в логический тип. Операторы сравнения. Условия ................................. .49
3.1.2. Логические операторы ................................................................................................. 50
3.2. Выражение ветвления ............................................................................................................ 51
3.3. Блоки. Пустой оператор ......................................................................................................... 53
3.3.1. Как набираются выражения, содержащие блоки? ..................................................... 54
3.4. Выражение выбора ................................................................................................................. 55
3.5. Циклы. Цикл с условием ........................................................................................................ 56
3.6. Управление циклами .............................................................................................................. 58
3.6.1. Переход на следующую итерацию ............................................................................. 58
3.6.2. Прерывание цикла ........................................................................................................ 58
3.7. Автоматическое преобразование типов в условиях управляющих выражений ............... 59
3.8. Оператор присваивания в составе выражения ..................................................................... 59
3.9. Что еще следует знать о блоках и не только ........................................................................ 60
3.1 О. Самостоятельные упражнения ............................................................................................ 61
Урок 4. Числа и строки ................................................................................................ 62
4.1. Числа - целые и вещественные ........................................................................................... 62
4.1.l. Запись чисел .................................................................................................................. 62
4.1.2. Преобразование значений в числа .............................................................................. 63
4. 1.3. Обработка чисел ........................................................................................................... 64
4.1.3.1. Арифметические операции ............................................................................. 64
4.1.3.2. Алгебраические и тригонометрические операции ....................................... 65
4.1.3.3. Генерирование псевдослучайных чисел ....................................................... 66
4.1.4. Сравнение чисел ........................................................................................................... 67
4.1.5. Потери точности при вычислении .............................................................................. 68
4.2. Строки ...................................................................................................................................... 68
4.2.1. Создание строк ............................................................................................................. 68
4.2.1.1. Специальные символы .................................................................................... 69
4.2.2. Преобразование значений в строки ............................................................................ 70
4.2.3. Обработка строк ........................................................................................................... 70
4.2.3.1. Извлечение символов, срезов и перебор. Цикл перебора ............................ 70
4.2.3.2. Простейшие операции над строками ............................................................. 72
4.2.3.3. Преобразование строк ..................................................................................... 72
4.2.3.4. Поиск и замена в строках ............................................................................... 74
4.2.4. Сравнение строк ........................................................................................................... 75
4.2.5. Форматируемые строки ............................................................................................... 75
4.3. Последовательности ............................................................................................................... 78
4.4. Что еще нужно знать о строках и не только ......................................................................... 79
4.5. Самостоятельные упражнения .............................................................................................. 81
Урок 5. Списки, кортежи, генераторы и словари ................................................... 82
5.1. Списки ..................................................................................................................................... 82
5.1.1. Создание списков ......................................................................................................... 82
5.1.2. Обработка списков ....................................................................................................... 82
5.1.2.1. Простейшие операции над списками ............................................................ 82
5.1.2.2. Добавление и удаление элементов списка .................................................... 84
5.1.2.3. Обработка элементов списка .......................................................................... 85
5.1.2.4. Поиск элементов в списках ............................................................................ 86
5.1.2.5. Выдача элементов списков, выбранных псевдослучайным образом ......... 87
5.1.3. Сравнение списков ....................................................................................................... 88
5.1.4. Списковые включения ................................................................................................. 88
5.2. Кортежи ................................................................................................................................... 89
5.2.1. Создание кортежей ....................................................................................................... 89
5.2.2. Работа с кортежами ...................................................................................................... 89
5.2.3. Именованные кортежи ................................................................................................. 90
5 .3. Распаковка последовательностей .......................................................................................... 91
5.3.1. Пара слов о множественном присваивании и множественном выводе ................... 93
5.4. Генераторы .............................................................................................................................. 93
5.4.1. Генераторы-функции ................................................................................................... 93
5.4.2. Генераторы-выражения ................................................................................................ 95
5.5. Словари .................................................................................................................................... 95
5.5.1. Создание словарей ........................................................................................................ 95
5.5.2. Обработка словарей ..................................................................................................... 96
5.5.2.1. Простейшие операции над словарями ........................................................... 96
5.5.2.2. Добавление, извлечение и удаление элементов словаря ............................. 97
5.5.2.3. Перебор элементов словаря ............................................................................ 98
5.5.3. Сравнение словарей ................................................................................................... 100
5.5.4. Словарные включения ............................................................................................... 100
5.5.5. Словари со значением по умолчанию defaultdict .................................................... 101
5.6. Отображения ......................................................................................................................... 101
5.7. Особенности хранения значений в переменных. Ссылки ................................................. 102
5.8. Копирование списков, кортежей и словарей ...................................................................... 103
5.9. Что еще нужно знать о генераторах и не только ............................................................... 104
5.1 О. Самостоятельные упражнения .......................................................................................... 105
Урок 6. Функции .......................................................................................................... 106
6.1. Вызов функций ..................................................................................................................... 106
6.1.1. Виды параметров функций ........................................................................................ 106
6.1.2. Распаковка последовательностей и отображений в вызовах функций .................. ) 07
6.2. Объявление своих функций ................................................................................................. 108
6.2.1. Объявление функции ................................................................................................. 108
6.2.2. Доступ к глобальным переменным из тела функции .............................................. 109
6.2.3. Необязательные параметры ....................................................................................... 11 О
6.2.4. Произвольное количество параметров ..................................................................... 111
6.2.5. Строго позиционные, строго именованные и двоякие параметры ........................ 112
6.3. Функция как значение .......................................................................................................... 114
6.3.1. Разные функции и методы, принимающие с параметрами другие функции ........ 114
6.4. Лямбда-функции ................................................................................................................... 116
6.5. Вложенные функции ............................................................................................................ 117
6.5.1. Замыкания. Фабрики функций .................................................................................. 118
6.6. Декораторы функций ........................................................................................................... 120
6.7. Сообщения об ошибках в телах функций. Стек вызовов .................................................. 122
6.8. Что еще нужно знать о функциях ........................................................................................ 123
6.9. Самостоятельное упражнение ............................................................................................. 124
Урок 7. Классы и объекты ......................................................................................... 125
7.1. Объекты ................................................................................................................................. 125
7 .1.1. Создание объектов ..................................................................................................... 125
7 .1.2. Обращение к атрибутам и вызов методов ................................................................ 125
7.1.3. Объектные и классовые атрибуты и методы ........................................................... 126
7.2. Классы ................................................................................................................................... 127
7.2.1. Объявление класса ..................................................................................................... 127
7.2.2. Конструктор и деструктор ......................................................................................... 128
7.2.3. Наследование классов ................................................................................................ 130
7 .2.3 .1. Объявление производного класса ................................................................ 130
7.2.3.2. Перекрытие и переопределение методов .................................................... 131
7.2.3.3. Множественное наследование ..................................................................... 133
7.2.3.4. Указание декораторов функций у методов ................................................. 134
7.2.4. Классовые атрибуты и методы. Статические методы ............................................. 134
7.2.5. Закрытые атрибуты и методы ................................................................................... 135
7.2.6. Свойства ...................................................................................................................... 136
7.2.7. Добавленные атрибуты .............................................................................................. 138
7.2.7.1. Ограничение набора создаваемых атрибутов ............................................. 138
7.2.8. Вложенные классы ..................................................................................................... 139
7.2.9. Класс как значение ..................................................................................................... 140
7.3. Декораторы классов ............................................................................................................. 140
7.4. Что еще нужно знать об объектах и классах ...................................................................... 141
7.5. Самостоятельные упражнения ............................................................................................ 142
Урок 8. Модули и пакеты .......................................................................................... 143
8.1. Модули. Импорт и подключение ........................................................................................ 143
8.1.1. Использование сущностей из другого модуля ......................................................... 143
8.1.1.1. Импорт сущностей ........................................................................................ 143
8.1.1.2. Подключение модулей .................................................................................. 144
8.1.2. Указание сущностей, доступных извне .................................................................... 145
8.1.3. Создание своих модулей ............................................................................................ 145
8.2. Пакеты ................................................................................................................................... 146
8.2.1. Создание пакетов ........................................................................................................ 146
8.2.2. Импорт и подключение из пакетов. Пути сущностей ............................................. 146
8.3. Что еще нужно знать о модулях, импорте и подключении .............................................. 148
8.4. Самостоятельное упражнение ............................................................................................. 149
Урок 9. Исключения и их обработка. Обработчики контекстов ....................... 150
9 .1. Исключения ........................................................................................................................... 150
9 .1.1. Введение в исключения ............................................................................................. 150
9 .1.2. Обработка исключений .............................................................................................. 151
9 .1.3. Возбуждение исключений ......................................................................................... 153
9.1.4. Объявление своих исключений ................................................................................. 154
9.2. Обработчики контекстов ...................................................................................................... 154
ЧАСТЬ 11. ЯЗЫК PYTHON: РАСШИРЕННЫЕ ИНСТРУМЕНТЫ ................. 157
Урок 10. Функции и классы особой функциональности ..................................... 159
10.1. Создание генераторов-функций ........................................................................................ 159
10.2. Dunder-мeтoды и их использование .................................................................................. 160
10.2.1. Преобразование объектов в другие типы данных ................................................ 161
10.2.2. Поддержка арифметических операций с объектами.
Перегрузка операторов ........................................................................................... 162
10.2.3. Поддержка операций сравнения ............................................................................ 164
10.2.4. Создание своих итераторов ................................................................................... 164
10.2.5. Создание своих последовательностей .................................................................. 166
10.2.6. Создание своих отображений ................................................................................ 167
10.2.7. Прочие dunder-мeтoды ........................................................................................... 168
10.3. Написание менеджеров контекста .................................................................................... 170
10.3.1. Функции-менеджеры контекста ............................................................................ 170
10.3.2. Классы-менеджеры контекста ............................................................................... 171
10.4. Перечисления ...................................................................................................................... 172
10.5. Что еще нужно знать о классах особой функциональности ........................................... 175
10.6. Самостоятельные упражнения .......................................................................................... 176
Урок 11. Регулярные выражения ............................................................................. 177
11.1. Создание регулярных выражений ..................................................................................... 177
11.2. Написание регулярных выражений ................................................................................... 177
11.2.1. Метасимволы .......................................................................................................... 178
11.2.2. Поднаборы ............................................................................................................... 178
11.2.3. Вариант .................................................................................................................... 179
11.2.4. Квантификаторы ..................................................................................................... 179
11.2.5. Утверждения ........................................................................................................... 180
11.2.6. Группы ..................................................................................................................... 181
11.2. 7. Обычные символы .................................................................................................. 182
11.2.8. Флаги ....................................................................................................................... 182
11.2.9. Тестирование регулярных выражений .................................................................. 183
11.3. Использование регулярных выражений ........................................................................... 184
1 1.3 .1. Поиск первого совпадения ..................................................................................... 184
11.3.2. Поиск всех совпадений .......................................................................................... 186
11.3 .3. Прочие случаи использования ............................................................................... 186
11.4. Что еще нужно знать о регулярных выражениях и не только ........................................ 188
11.5. Самостоятельные упражнения .......................................................................................... 188
Урок 12. Установка и использование дополнительных библиотек ................... 189
12.1. Работа с дополнительными библиотеками. Утилита pip ................................................ 189
12.2. Библиотека Pillow: работа с графикой .............................................................................. 191
12.3. Программа для создания графических миниатюр, версия 1.0 ........................................ 192
12.4. Модуль argparse: обработка командных ключей ............................................................ 194
12.4.1. Введение в командные ключи и их обработка ..................................................... 194
12.4.2. Создание объекта обработчика командных ключей ............................................ 195
12.4.3. Описание командных ключей ................................................................................ 196
12.4.4. Обработка командных ключей .............................................................................. 198
12.5. Программа для создания графических миниатюр, версия 2.0 ........................................ 199
12.6. Что еще нужно знать о дополнительных библиотеках ................................................... 201
12.7. Самостоятельные упражнения .......................................................................................... 202
Урок 13. Многопоточное и многопроцессное программирование ..................... 203
13 .1. Многопоточное программирование .................................................................................. 203
13.1.1. Введение в потоки. Глобальная блокировка интерпретатора ............................. 203
13.1.2. Создание потоков .................................................................................................... 204
13 .1.3. Блокировки .............................................................................................................. 206
13.1.4. Программа для создания графических миниатюр, версия 3.0 ............................ 207
13.1.5. Очереди .................................................................................................................... 209
13 .1.6. Программа для создания графических миниатюр, версия 3 .1 ............................ 211
13.2. Многопроцессное программирование .............................................................................. 213
13.2.1. Процессы и работа с ними ..................................................................................... 213
13 .2.2. Программа для создания графических миниатюр, версия 4.0 ............................ 214
13.3. Что еще нужно знать о потоках и процессах ................................................................... 215
13.4. Самостоятельные упражнения .......................................................................................... 216
Урок 14. Конкурентное программирование ........................................................... 217
14.1. Сопрограммы ...................................................................................................................... 217
14.1.1. Введение в сопрограммы. Фьючеры ..................................................................... 217
14.1.2. Сопрограммы-методы ............................................................................................ 220
14.1.2.1. Асинхронные итераторы. Цикл перебора с приостановкой ................ 220
14.1.2.2. Асинхронные менеджеры контекста.
Асинхронный обработчик контекста ..................................................... 221
14.1.3. Сопрограммы-генераторы ...................................................................................... 222
14.2. Задачи .................................................................................................................................. 222
14.2.1. Создание и выполнение задач ............................................................................... 222
14.2.2. Одновременный запуск задач ................................................................................ 223
14.2.3. Группы задач ........................................................................................................... 224
14.2.4. Прерывание задач ................................................................................................... 225
14.3. Асинхронные очереди ........................................................................................................ 226
14.4. Библиотека aiofiles: конкурентная работа с файлами ..................................................... 226
14.5. Программа для создания графических миниатюр, версия 5.О ........................................ 227
14.6. Самостоятельные упражнения .......................................................................................... 230
Урок 15. Аннотации типов и документирование кода. Датаклассы ................. 231
15.1. Аннотации типов и их применение ................................................................................... 231
15.1.1. Написание аннотаций типов .................................................................................. 231
15.1.1.1. Указание типов в аннотациях ................................................................. 232
15.1.1.2. Указание типов элементов у списков и кортежей ................................ 233
15.1.1.3. Указание типов элементов у последовательностей и отображений
произвольных типов ............................................................................... 234
15.1.1.4. Указание типов у функций, присваиваемых переменным .................. 235
15.1.1.5. Указание типов у фьючеров ................................................................... 235
15.1.1.6. Указание типов значений, выдаваемых генераторами-функциями ...... 236
15.1.1.7. Обобщенные типы ................................................................................... 237
15 .1.2. Получение аннотаций, заданных у функций и методов ...................................... 23 7
15.2. Строки документирования ................................................................................................. 238
15.3. Датаклассы .......................................................................................................................... 241
15.3.1. Простейшие датаклассы ......................................................................................... 241
15.3.2. Более сложные датаклассы .................................................................................... 243
15.4. Что еще нужно знать об аннотациях типов ...................................................................... 245
15.5. Самостоятельное упражнение ........................................................................................... 245
ЧАСТЬ 111. ПРАКТИЧЕСКОЕ РУТНОN-ПРОГРАММИРОВАНИЕ ............... 247
Урок 16. Загрузка и анализ данных из Интернета ................................................ 249
16.1. Библиотека requests: загрузка файлов из Интернета ....................................................... 249
16.1.1. Requests: отправка клиентских запросов .............................................................. 249
16.1.2. Requests: обработка полученных серверных ответов .......................................... 251
16.1.3. Requests: загрузка больших файлов ...................................................................... 252
16.2. Библиотека Beautiful Soup: парсинг веб-страниц ............................................................ 253
16.2.1. Подготовка к парсингу веб-страницы ................................................................... 253
16.2.2. Навигация по структуре узлов неб-страницы ...................................................... 254
16.2.3. Получение сведений об узле .................................................................................. 256
16.2.4. Поиск узлов ............................................................................................................. 257
16.2.5. Программа, выводящая заголовки статей на веб-сайте ЗDNews.ru .................... 262
16.2.6. Программа, сохраняющая изображения с заданной неб-страницы
версия 1.0 ................................................................................................................. 263
16.3. Библиотека aiohttp: конкурентная загрузка файлов ........................................................ 266
16.3.1. Aiohttp: отправка клиентских запросов ................................................................ 267
16.3.2. Aiohttp: обработка серверных ответов .................................................................. 267
16.3.3. Aiohttp: загрузка больших файлов ........................................................................ 268
16.3.4. Программа, сохраняющая изображения с заданной неб-страницы
версия 2.0 ................................................................................................................. 269
16.4. Самостоятельные упражнения .......................................................................................... 271
Урок 17. Разработка неб-приложений, часть 1 ...................................................... 272
17.1. Основы библиотеки NiceGUI ............................................................................................ 272
17. 1.1. Страницы и маршруты ........................................................................................... 272
17.1.2. Запуск и остановка неб-приложения ..................................................................... 274
17.1.3. Создание гиперссылок ........................................................................................... 275
17.1.4. Параметризованные маршруты и URL-параметры ............................................. 276
17.1.5. Обработка событий ................................................................................................. 277
17.1.6. Функция run(), запускающая веб-приложение ..................................................... 279
17.2. Основные элементы страниц ............................................................................................. 280
17.2.1. Надпись .................................................................................................................... 280
17 .2.2. Графический элемент ............................................................................................. 280
17.2.3. Гиперссылка ............................................................................................................ 280
17.2.4. Текст в формате Markdown .................................................................................... 281
17.2.5. Аудиоролик ............................................................................................................. 282
17 .2.6. Видеоролик .............................................................................................................. 283
17.2.7. Фрагмент программного кода ................................................................................ 283
17.3. Разметочные элементы ....................................................................................................... 284
17.3.1. Блок-строка ............................................................................................................. 284
17.3.2. Блок-колонка ........................................................................................................... 284
17.3.3. Разделитель ............................................................................................................. 285
17.3.4. Блок-сетка ................................................................................................................ 285
17.3.5. Спойлер ................................................................................................................... 286
17.3.6. Быстрая разметка страниц ..................................................................................... 288
17.4. Если вы знаете HTML и CSS ............................................................................................. 290
17.4.1. Создание произвольных НТМL-элементов .......................................................... 290
17.4.2. Указание стилевых классов и встроенных СSS-стилей ...................................... 291
17.4.3. Обработка событий DOM ...................................................................................... 292
17.5. Статические и выгруженные файлы ................................................................................. 292
17.6. Веб-приложение фотогалереи, версия 1.0 ........................................................................ 293
17.7. Что еще нужно знать о NiceGUI, часть 1 .......................................................................... 296
17.8. Самостоятельные упражнения .......................................................................................... 297
Урок 18. Работа с базами данных ............................................................................. 298
18.1. Введение в реляционные базы данных ............................................................................. 298
18.2. Библиотека Tortoise ORM: удобная работа с базами данных ......................................... 299
18.3. Модели ................................................................................................................................. 299
18.3.1. Объявление моделей ............................................................................................... 300
18.3.2. Настройки, поддерживаемые всеми полями ........................................................ 300
18.3.3. Типы полей .............................................................................................................. 301
18.3.4. Создание межтабличных связей ............................................................................ 302
18.3 .5. Настройки самой модели ....................................................................................... 303
18.4. Соединение с базой данных и инициализация схемы ..................................................... 304
18.5. Запись данных ..................................................................................................................... 305
18.5.1. Создание записей .................................................................................................... 305
18.5.2. Правка записей ........................................................................................................ 306
18.5.3. Удаление записей .................................................................................................... 307
18.6. Выборка данных ................................................................................................................. 307
18.6.1. Поиск записи ........................................................................................................... 307
18.6.2. Извлечение значений из полей записи .................................................................. 308
18.6.3. Фильтрация записей. Наборы записей .................................................................. 308
18.6.3.1. Модификаторы ........................................................................................ 309
18.6.4. Сортировка записей ................................................................................................ 311
18.6.5. Извлечение первой и последней записей ............................................................. 311
18.6.6. Извлечение заданного количества записей .......................................................... 312
18.6.7. Извлечение всех записей ........................................................................................ 312
18.6.8. Проверка существования записей ......................................................................... 312
18.6.9. Извлечение связанных записей ............................................................................. 313
18.6.10. Извлечение записей в виде списка словарей ...................................................... 314
18. 7. Закрытие соединения с базой данных ............................................................................... 314
18.8. Интеграция Tortoise ОRМ и NiceGUI ............................................................................... 315
18.9. Веб-приложение фотогалереи, версия 2.0 ........................................................................ 315
18. 9 .1. Модели пользователя и изображения ................................................................... 315
18.9.2. База данных веб-приложения ................................................................................ 317
18.9.3. Вывод изображений из базы данных .................................................................... 317
18.1 О. Что еще нужно знать о библиотеке Tortoise ОRМ ......................................................... 319
18.11. Самостоятельные упражнения ........................................................................................ 320
Урок 19. Разработка веб-прнложеннй, часть 2 ...................................................... 321
19.1. Элементы управления ........................................................................................................ 321
19.1.1. Кнопка ...................................................................................................................... 321
19.1.2. Поле ввода ............................................................................................................... 321
19.1.3. Область редактирования ........................................................................................ 322
19.1.4. Флажок ..................................................................................................................... 322
19.1.5. Набор переключателей ........................................................................................... 323
19.1.6. Раскрывающийся список ........................................................................................ 323
19.1.7. Поле для ввода числа .............................................................................................. 325
19.1.8. Регулятор ................................................................................................................. 326
19.1.9. Поле для выбора файлов ........................................................................................ 326
19.2. Хранилища данных NiceGUI ............................................................................................. 328
19.3. Хеширование паролей ........................................................................................................ 329
19.4. Веб-приложение фотогалереи, версия 3.0 ........................................................................ 330
19.4.1. Верхнее меню и секретный ключ .......................................................................... 330
19.4.2. Страницы входа и выхода ...................................................................................... 331
19.4.3. Страница пользовательского профиля .................................................................. 333
19.4.4. Страницы добавления и удаления изображений ................................................. 335
19.5. Что еще нужно знать о библиотеке NiceGUI, часть 2 ..................................................... 338
19.6. Самостоятельное упражнение ........................................................................................... 338
Урок 20. Разработка графических приложений .................................................... 339
20.1. Библиотека Toga: разработка графических приложений ................................................ 339
20.2. Основы библиотеки Toga ................................................................................................... 339
20.2.1. Окна и контейнеры ................................................................................................. 339
20.2.2. Обработка событий ................................................................................................. 341
20.2.3. Оформление приложения. Стили .......................................................................... 342
20.2.4. Запуск и останов приложения ............................................................................... 343
20.3. Простейшие элементы окон ............................................................................................... 344
20.3.1. Свойства и методы, поддерживаемые всеми элементами окон ......................... 344
20.3.2. Надпись .................................................................................................................... 345
20.3.3. Поле ввода ............................................................................................................... 345
20.3.4. Область редактирования ........................................................................................ 345
20.3.5. Флажок ..................................................................................................................... 346
20.3.6. Кнопка ...................................................................................................................... 346
20.3.7. Графический элемент ............................................................................................. 347
20.3.8. Поле для ввода целого числа ................................................................................. 347
20.3.9. Поле для ввода пароля ............................................................................................ 348
20 .3 .1 О. Регулятор ............................................................................................................... 348
20.4. Модели и списки ................................................................................................................. 349
20.4.1. Модели ..................................................................................................................... 349
20.4.2. Списковые элементы управления ......................................................................... 351
20.4.2.1. Раскрывающийся список ........................................................................ 351
20.4.2.2. Таблица .................................................................................................... 352
20.5. Контейнеры ......................................................................................................................... 353
20.5.1. Стопка ...................................................................................................................... 353
20.5.2. Блокнот с вкладками .............................................................................................. 354
20.5.3. Панель с прокруткой .............................................................................................. 355
20.6. Задание стилей у элементов окон ...................................................................................... 356
20.7. Управление окнами ............................................................................................................ 358
20.7.1. Задание главного окна приложения ...................................................................... 358
20.7.2. Создание вторичных окон ...................................................................................... 360
20.7.3. Вывод стандартных модальных окон ................................................................... 363
20.8. Интеграция библиотек Toga и Tortoise ОRМ ................................................................... 364
20.9. Что еще нужно знать о библиотеке Toga .......................................................................... 364
20.1 О. Самостоятельные упражнения ........................................................................................ 365
Урок 21. Математика .................................................................................................. 366
21.1. Библиотека Matplotlib: вывод графиков ........................................................................... 366
21.1.1. Основные принципы Matplotlib ............................................................................. 366
21.1.1.1. Вывод простого графика ......................................................................... 366
21.1.1.2. Вывод двух графиков на одних координатных осях ............................ 368
21.1.1.3. Вывод двух графиков на разных координатных осях .......................... 369
21.1.1.4. Настройка графиков ................................................................................ 370
21.1.2. Создание координатных осей ................................................................................ 372
21.1.3. Рисование графиков разных типов ........................................................................ 373
21.1.4. Вывод и оформление графиков ............................................................................. 377
21.2. Библиотека NumPy: обработка многомерных массивов ................................................. 378
21.3. Что еще нужно знать о библиотеках Matplotlib и NumPy ............................................... 382
Урок 22. Искусственный интеллект ........................................................................ 383
22.1. Регистрация в личном кабинете GigaChat АР! и получение ключа авторизации ......... 383
22.2. Библиотеки LangChain, langchain-community и \angchain-gigachat ................................ 384
22.3. Разработка ИИ-клиентов .................................................................................................... 384
22.3.1. Соединение с большой языковой моделью .......................................................... 384
22.3.2. ИИ-клиент: отправка запросов и получение ответов .......................................... 385
22.3.3. ИИ-клиент: хранение истории взаимодействия с языковой моделью ............... 387
22.3.4. ИИ-клиент: очистка истории ................................................................................. 388
22.3.5. Получение ответа по частям .................................................................................. 390
22.3.6. Конкурентная работа с языковыми моделями ..................................................... 391
22.4. Разработка ИИ-агентов ............................................................................................ 392
22.4.1. Объявление инструментов ..................................................................................... 392
22.4.1.1. Инструмент для поиска в Интернете средствами DuckDuckGo .................................. 393
22.4.2. Создание ИИ-агента ............................................................................................... 393
22.4.3. ИИ-агент: отправка запросов и получение ответов ............................................. 394
22.4.4. Обработка ответов .................................................................................................. 396
22.4.5. ИИ-агент: хранение истории взаимодействия с языковой моделью .................. 397
22.4.6. Работа с состоянием ИИ-агента ............................................................................. 399
22.4. 7. ИИ-агент: очистка истории ................................................................................... .400
22.5. Что еще нужно знать о работе с искусственным интеллектом ..................................... .401
22.6. Самостоятельное упражнение ................................................................................... 402
Заключение ................................................................................................................... 403
ПРИЛОЖЕНИЯ ........................................................................................................... 405
Приложение 1. Установка исполняющей среды Python ...................................... 407
Приложение 2. Приоритет операторов Python ....................................................... 411
Приложение 3. Использование ИИ для изучения Python
и написания программного кода .............................................................................. 412
Приложение 4. Описание файлового архива ......................................................... 416
Предметный указатель ............................................................................................... 417
Скриншоты:
Время раздачи: с 09:00 до 21:00 (минимум до появления первых 3-5 скачавших)