Python Прохоренок_704

Python Прохоренок_704 — учебник, содержащий 704 страницы.

Пламенный привет посетителям этой страницы, пришедшим из социальных сетей, да и всем остальным тоже!

В апреле 2021-го года наблюдал удивительное явление: обильный поток посетителей из 4-х социальных сетей. В связи с этим настоятельно рекомендую всем неоднократно и регулярно посещать сайт rtbsm.ru — там в общих чертах изложена Российская Теннисная Балльная Система Марии (Шараповой).

Приглашаю всех полюбоваться на Фото и Видео красавицы Марии — надеюсь, что Вы поделитесь адресом сайта rtbsm.ru с друзьями и знакомыми.

Главная проблема — известить Марию, чтобы она лично как можно скорее заявила на весь мир о РТБСМ.

Python Прохоренок_704 — книга Прохоренок Н. А. «Python 3 и PyQt. Разработка приложений.» СПб., БХВ-Петербург, 2012., 704 страницы с иллюстрациями.

Описан базовый синтаксис языка Python: типы данных, операторы, условия, циклы, регулярные выражения, встроенные функции, объектно-ориентированное программирование, работа с файлами и каталогами, часто используемые модули стандартной библиотеки.

Приведены основы базы данных SQLite, интерфейс доступа к базе и способы получения данных из Интернета. Особое внимание уделено библиотеке PyQt, позволяющей создавать приложения с графическим интерфейсом на языке Python.

Рассмотрены сnособы обработки сигналов и событий, управление свойствами окна, создание формы с помощью программы Qt Designer, работа многопоточных приложений, а также все основные компоненты (кнопки, текстовые поля, списки, таблицы, меню, панели инструментов и др.) и варианты их размещения внутри окна.

На сайте издательства приведены все примеры из книги.

Привожу Оглавление этой книги:

Введение …. 13

ЧАСТЬ 1. ОСНОВЫ PYTHON 3 …. 15

Глава 1. Первые шаги …. 17
1.1. Установка Python … 17
1.2. Первая nрограмма на Python … 23
1.3. Структура nрограммы … 24
1.4. Комментарии … 27
1.5. Скрытые возможности IDLE … 28
1.6. Вывод результатов работы программы … 29
1.7. Ввод данных …. 31
1.8. Доступ к документации … 33

Глава 2. Переменные …. 36
2.1. Именование переменных … 36
2.2. Типы данных … 38
2.3. Присваивание значения переменным …. 41
2.4. Проверка типа данных … 43
2.5. Преобразование типов данных … 44
2.6. Удаление переменной …. 47

Глава 3. Операторы …. 48
3.1. Математические операторы …. 48
3.2. Двоичные операторы …. 50
3.3. Операторы для работы с последовательностями … 51
3.4. Операторы присваивания … 52
3.5. Приоритет выполнения операторов … 53

Глава 4. Условные операторы и циклы …. 55
4.1. Операторы сравнения …. 56
4.2. Оператор ветвления if .. else … 58
4.3. Цикл fоr … 61
4.4. Функции range() и enumerate() …. 63
4.5. Цикл while … 66
4.6. Оператор continue. Переход на следующую итерацию цикла …………………………………………………………………………… 67
4.7. Оператор break. Прерывание цикла … 67

Глава 5. Числа …. 69
5.1. Встроенные функции для работы с числами … 70
5.2. Модуль math. Математические функции … 72
5.3. Модуль random. Генерация случайных чисел … 73

Глава 6. Строки …. 76
6.1. Создание строки …. 77
6.2. Специальные символы … 81
6.3. Операции над строками … 81
6.4. Форматирование строк … 84
6.5. Meтoд  format() … 90
6.6. Функции и методы для работы со строками … 94
6.7. Настройка локали … 97
6.8. Изменение регистра символов …. 98
6.9. Функции для работы с символами … 98
6.10. Поиск и замена в строке … 99
6.11. Проверка типа содержимого строки … 102
6.12. Тип данных bytes … 105
6.13. Тип данных bytearray … 108
6.14. Преобразование объекта в последовательность байтов ………………………………………………………………… 112
6.15. Шифрование строк … 112

Глава 7. Регулярные выражения …. 114
7.1. Синтаксис регулярных выражений …. 114
7.2. Поиск первого совпадения с шаблоном … 123
7.3. Поиск всех совпадений с шаблоном … 127
7.4. Замена в строке … 128
7.5. Прочие функции и методы … 130

Глава 8. Списки и· кортежи …. 132
8.1. Создание списка …. 132
8.2. Операции над списками … 136
8.3. Многомерные списки … 139
8.4. Перебор элементов списка …. 139
8.5. Генераторы списков и выражения-генераторы … 140
8.6. Функции map(), zip(), filter() и reduce() …. 141
8.7. Добавление и удаление элементов списка …. 144
8.8. Поиск элемента в списке … 147
8.9. Переворачивание и перемешивание списка … 148
8.10. Выбор элементов случайным образом … 148
8.11. Сортировка списка …. 149
8.12. Заполнение списка числами … 150
8.13. Преобразование списка в строку … 151
8.14. Кортежи … 151
8.15. Модуль itertools … 153
8.15.1. Генерация неопределенного количества значений ………………………………………………………………………………… 153
8.15.2. Генерация комбинаций значений …. 154
8.15.3. Фильтрация элементов последовательности …. 156
8.15.4. Прочие функции …. 157

Глава 9. Словари и множества …. 159

9.1. Создание словаря …. 159
9.2. Операции над словарями .. 161
9.3. Перебор элементов словаря .. 163
9.4. Методы для работы со словарями … 164
9.5. Генераторы словарей … 166
9.6. Множества … 167
9.7. Генераторы множеств … 172

Глава 10. Работа с датой и временем … 173

10.1. Получение текущей даты и времени … 173
10.2. Форматирование даты и времени … 175
10.3. «Засыпание» с крипта … 177
10.4. Модуль datetime. Манипуляции датой и временем ………………………………………………………………………………. 178
10.4.1. Класс timedelta …. 178
10.4.2. Класс date …. 180
10.4.3. Класс time … 183
10.4.4. Класс datetime … 184
10.5. Модуль ca/endar. Вывод календаря … 189
10.5.1. Методы классов TextCalendar и LocaleTextCalendar ………………………………………………………………………………….. 190
10.5.2. Методы классов HTMLCalendar и LocaleHTMLCalendar …………………………………… 191
10.5.3. Другие полезные функции … 192
10.6. Измерение времени выполнения фрагментов кода ……………………………………………………………………………….. 195

Глава 11. Пользовательские функции …. 197

11.1. Создание функции и ее вызов … 197
11.2. Расположение определений функций …. 200
11.3. Необязательные параметры и сопоставление по ключам ……………………………………………………………… 201
11.4. Переменное число параметров в функции … 203
11.5. Анонимные функции … 205
11.6. Функции-генераторы … 206
11.7. Декораторы функций … 207
11.8. Рекурсия. Вычисление факториала … 209
11.9. Глобальные и локальные переменные … 210
11.10. Вложенные функции …. 213
11.11. Аннотации функций …. 215

Глава 12. Модули и пакеты …. 216

12.1. Инструкция import … 216
12.2. Инструкция frоm … 219
12.3. Пути поиска модулей … 222
12.4. Повторная загрузка модулей … 223
12.5. Пакеты …. 224

Глава 13. Объектно-ориентированное программирование ………………………………………… 228
13.1. Определение класса и создание экземпляра класса .. 228
13.2. Методы _init_O и _de/_0 …. 231
13.3. Наследование … 232
13.4. Множественное наследоеание … 234
13.5. Сnециальные методы … 236
13.6. Перегрузка оnераторов … 239
13.7. Статические методы и методы класса … 242
13.8. Абстрактные методы … 243
13.9. Ограничение достуnа к идентификаторам внутри класса ……………………………………………………………………… 244
13.10. Свойства класса … 245
13.11. Декораторы классов … 246

Глава 14. Обработка исключений …. 247
14.1. Инструкция try … except … else … finally …. 248
14.2. Инструкция with … as .. 252
14.3. Классы встроенных исключений .. 254
14.4. Пользовательские исключения … 256

Глава·15. Работа с файлами и каталогами …. 259
15.1. Открытие файла …. 259
15.2. Методы для работы с файлами … 265
15.3. Доступ к файлам с nомощью модуля os … 271
15.4. Классы StringI0 и BytesI0 … 273
15.5. Права достуnа к файлам и каталогам 277
15.6. Функции для ман.иnулирования файлами … 278
15.7. Преобразование nути к файлу или каталогу …. 281
15.8. Перенаправление ввода/вывода …. 283
15.9. Сохранение объектов в файл … 286
15.10. Функции для работы с каталогами … 289

Глава 16. Основы SQLite 293
16.1. Создание базы данных … 293
16.2. Создание таблицы . 295
16.3. Вставка заnисей …. 301
16.4. Обновление и удаление заnисей …. 303
16.5. Изменение свойств таблицы …. 304
16.6. Выбор заnисей . 305
16.7. Выбор заnисей из нескольких таблиц …. 308
16.8. Условия в инструкции WHERE … 309
16.9. Индексы …. 312
16.10. Вложенные заnросы … 314
16.11. Транзакции …. 315
16.12. Удаление таблицы и базы данных … 317

Глава 17. Доступ к базе данных SQLite из Python ………………………………………………………………………. 318
17 .1. Создание и открытие базы данных … 319
17.2. Выполнение заnроса … 319
17.3. Обработка результата заnроса … 324
17.4. Управление транзакциями … 327
17.5. Создание пользовательской сортировки … 328
17.6. Поиск без учета регистра символов … 330
17.7. Создание агрегатных функций … 331
17.8. Преобразование типов данных … 332
17.9. Сохранение в таблице даты и времени … 336
17.1О. Обработка исключений … 337

Глава 18. Взаимодействие с Интернетом … 340
18.1. Разбор URL-aдpeca …. 340
18.2. Кодирование и декодирование строки запроса …. 343
18.3. Преобразование относительной ссылки в абсолютную  ……………………………………………………………………………………… 347
18.4. Разбор НТМL-эквивалентов … 347
18.5. Обмен данными по протоколу НТТР … 348
18.6. Обмен данными с помощью модуля urllib.request …. 354
18.7. Определение кодировки … 357

ЧАСТЬ 11. СОЗДАНИЕ ОКОННЫХ ПРИЛОЖЕНИЙ ……………………………………………………………………… 359

Глава 19. Знакомство с PyQt … 361
19.1. Установка PyQt … 361
19.2. Первая программа . 364
19.3. Структура программы …. 365
19.4. ООП-стиль создания окна … 367
19.5. Создание окна с помощью программы Qt Designer … 371
19.5.1. Создание формы … 371
19.5.2. Загрузка ui-файла в программе … 373
19.5.3. Преобразование ui-файла в ру-файл …. 375
19.6. Модули PyQt …. 377
19.7. Типы данных в PyQt …. 377
19.8. Управление основным циклом приложения …. 379
19.9. Многопоточные приложения …. 381
19.9.1. Класс QThread. Создание потока …. 381
19.9.2. Управление циклом внутри потока …. 384
19.9.3. Модуль queue. Создание очереди заданий … 388
19.9.4. Классы QMutex и QMutexLocker … 391
19.10. Вывод заставки … 395
19.11. Доступ к документации … 397

Глава 20. Управление окном приложения …. 398
20.1. Создание и отображение окна … 398
20.2. Указание типа окна … 399
20.3. Изменение и получение размеров окна … 401
20.4. Местоположение окна на экране … 403
20.5. Указание координат и размеров … 406
20.5.1. Класс QPoint. Координаты точки … 407
20.5.2. Класс QSize. Размеры прямоугольной области … 408
20.5.3. Класс QRect. Координаты и размеры прямоугольной области ……………………………………………………………………….. 410
20.6. Разворачивание и сворачивание окна … 415
20.7. Управление прозрачностью окна … 416
20.8. Модальные окна …. 417
20.9. Смена иконки в заголовке окна … 419
20.1О. Изменение цвета фона окна … 420
20.11. Использование изображения в качестве фона …. 421
20.12. Создание окна произвольной формы … 422
20.13. Всплывающие подсказки … 423
20.14. Закрытие окна из программы … 424

Глава 21. Обработка сигналов и событий …. 426 
21.1. Назначение обработчиков сигналов … 426
21.2. Блокировка и удаление обработчика … 430
21.3. Генерация сигнала из программы …. 433
21.4. Новый стиль назначения и удаления обработчиков …………………………………………………………………………………. 435
21.5. Передача данных в обработчик … 438
21.6. Использование таймеров … 439
21.7. Перехват всех событий … 442
21.8. События окна … 445
21.8.1. Изменение состояния окна …. 445
21.8.2. Изменение положения окна и его размеров …. 446
21.8.3. Перерисовка окна или его части …. 447
21.8.4. Предотвращение закрытия окна …. 448
21.9. События клавиатуры … 449
21.9.1. Установка фокуса ввода … 449
21.9.2. Назначение клавиш быстрого доступа …. 451
21.9.3. Нажатие и отпускание клавиши на клавиатуре ………………………………………………………………………………………. 454
21.10. События мыши … 455
21.10.1. Нажатие и отпускание кнопки мыши …. 455
21.10.2. Перемещение указателя … 456
21.10.3. Наведение и выведение указателя 457
21.10.4. Прокрутка колесика мыши … 457
21.10.5. Изменение внешнего вида указателя мыши …. 458
21.11. Технология drag & drop … 460
21.11.1. Запуск перетаскивания … 460
21.11.2. Класс QMimeData … 462
21.11.3. Обработка сброса … 463
21.12. Работа с буфером обмена … 465
21.13. Фильтрация событий …. 465
21.14. Искусственные события … 466

Глава 22. Размещение нескольких компонентов в окне ………………………………………………………….. 468
22.1. Абсолютное позиционирование … 468
22.2. Горизонтальное и вертикальное выравнивание … 469
22.3. Выравнивание по сетке … 472
22.4. Выравнивание компонентов формы … 473
22.5. Классы QStackedLayout и QStackedWidget … 415
22.6. Класс QSizePolicy … 411
22.7. Объединение компонентов в группу … 478
22.8. Панель с рамкой … 479
22.9. Панель с вкладками … 480
22.10. Компонент «аккордеон» … 484
22.11. Паиели с изменяемым размером …. 485
22.12. Область с полосами прокрутки …. 487

Глава 23. Основные компоненты …. 489
23.1. Надпись …. 489
23.2. Командная кнопка … 492
23.3. Переключатель … 494
23.4. Флажок … 494
23.5. Однострочное текстовое поле … 495
23.5.1. Основные методы и сигналы … 495
23.5.2. Ввод данных по маске …. 498
23.5.3. Контроль ввода … 499
23.6. Многострочное текстовое поле …. 500
23.6.1. Основные методы и сигналы …. 500
23.6.2. Изменение настроек поля … 502
23.6.3. Изменение характеристик текста и фона … 504
23.6.4. Класс QTextDocument … 505
23.6.5. Класс QTextCursor … 508
23.7. Текстовый браузер … 511
23.8. Поля для ввода целых и вещественных чисел … 512
23.9. Поля для ввода даты и времени …. 514
23.10. Календарь … 516
23.11. Электронный индикатор … 517
23.12. Индикатор хода процесса … 518
23.13. Шкала с ползунком … 519
23.14. Класс QDial …. 521
23.15. Полоса прокрутки …. 522

Глава 24. Списки и таблицы …. 523
24.1. Раскрывающийся список … 523
24.1.1. Добавление, изменение и удаление элементов … 523
24.1.2. Изменение настроек … 524
24.1.3. Поиск элемента внутри списка … 526
24.1.4. Сигналы … 526
24.2. Список для выбора шрифта …. 526
24.3. Роли элементов … 527
24.4. Модели …. 528
24.4.1. Доступ к данным внутри модели …. 528
24.4.2. Класс QStringListModel … 529
24.4.3. Класс QStandardItemModel …. 530
24.4.4. Класс QStandardItem …. 533
24.5. Представления … 536
24.5.1. Класс QAbstractltem View … 536
24.5.2. Простой список … 539
24.5.3. Таблица … 540
24.5.4. Иерархический список … 543
24.5.5. Управление заголовками строк и столбцов … 545
24.6. Управление выделением элементов … 547
24.7. Промежуточные модели … 549

Глава 25. Работа с графикой …. 551
25.1. Вспомогательные классы …. 551
25.1.1. Класс QColor. Цвет … 551
25.1.2. Класс QPen. Перо …. 555
25.1.3.»Класс QBrush. Кисть …. 556
25.1.4. Класс QLine. Линия …. 557
25.1.5. Класс QPolygon. Многоугольник …. 558
25.1.6. Класс QFont. Шрифт …. 560
25.2. Класс QPainter … 562
25.2.1. Рисование линий и фигур … 562
25.2.2. Вывод текста … 565
25.2.3. Вывод изображения … 566
25.2.4. Преобразование систем координат … 567
25.2.5. Сохранение команд рисования в файл … 568
25.3. Работа с изображениями … 569
25.3.1. Класс QPixmap …. 570
25.3.2. Класс QBitmap …. 572
25.3.3. Класс QImage … 573
25.3.4. Класс QIcon …. 576

Глава 26. Графическая сцена …. 578
26.1. Класс QGraphicsScene. Сцена …. 578
26.1.1. Настройка параметров сцены … 579
26.1.2. Добавление и удаление графических объектов … 579
26.1.3. Добавление компонентов на сцену … 580
26.1.4. Поиск объектов … 581
26.1.5. Управление фокусом ввода … 582
26.1.6. Управление выделением объектов … 582
26.1.7. Прочие методы и сигналы … 583
26.2. Класс QGraphicsView. Представление … 584
26.2.1. Настройка параметров представления … 584
26.2.2. Преобразования между координатами представления и сцены … 586
26.2.3. Поиск объектов … 586
26.2.4. Трансформация систем координат … 587
26.2.5. Прочие методы … 587
26.3. Класс QGraphicsItem. Базовый класс для графических объектов …………………………………………………………………… 588
26.3.1. Настройка параметров объекта … 588
26.3.2. Трансформация объекта … 590
26.3.3. Прочие методы … 591
26.4. Графические объекты … 592
26.4.1. Линия …. 592
26.4.2. Класс QAbstractGraphicsShapeltem … 593
26.4.3. Прямоугольник … 593
26.4.4. Многоугольник … 593
26.4.5. Эллипс … 594
26.4.6. Изображение … 594
26.4.7. Простой текст … 595
26.4.8. Форматированный текст … 595
26.5. Группировка объектов … 597
26.6. Эффекты … 597
26.6.1. Класс QGraphicsEffect … 597
26.6.2. Тень … 598
26.6.3. Размытие … 599
26.6.4. Изменение цвета . 599
26.6.5. Изменение nрозрачности …. 600
26.7. Обработка событий …. 600
26.7.1. События клавиатуры … 600
26.7.2. События мыши …. 601
26.7.3. Обработка nеретаскивания и сброса …. 603
26.7.4. Фильтрация событий …. 605
26.7.5. Обработка изменения состояния объекта … 605

Глава 27. Диалоговые окна …. 607
27.1. Пользовательские диалоговые окна … 607
27.2. Класс QDialogButtonBox … 610
27.3. Класс QMessageBox …. 612
27.3.1. Основные методы и сигналы … 614
27.3.2. Окно для вывода обычного сообщения …. 616
27.3.3. Окно запроса подтверждения … 616
27.3.4. Окно для вывода предупреждающего сообщения ………………………………………………………………………………. 617
27.3.5. Окно для вывода критического сообщения … 617
27.3.6. Окно «О программе» …. 618
27.3.7. Окно «About Qt» … 618
27.4. Класс QlnputDia/og …. 618
27.4.1. Основные методы и сигналы … 619
27.4.2. Окно для ввода строки … 621
27.4.3. Окно для ввода целого числа … 621
27.4.4. Окно для ввода вещественного числа … 622
27.4.5. Окно для выбора пункта из сnиска … 623
27.5. Класс QFileDialog … 623
27.5.1. Основные методы и сигналы … 624
27.5.2. Окно для выбора каталога … 626
27.5.3. Окна для открытия файла … 627
27.5.4. Окна для сохранения файла … 628
27.6. Окно для выбора цвета … 629
27.7. Окно для выбора шрифта …. 630
27.8. Окно для вывода сообщения об ошибке … 631
27.9. Окно с индикатором хода процесса … 632
27.1О. Создание многостраничного мастера … 633
27.10.1. Класс QWizard …. 633
27.10.2. Класс QWizardPage … 637

Глава 28. Создание SDI- и МDI-приложений …. 640
28.1. Создание главного окна приложения … 640
28.2. Меню … 644
28.2.1. Класс QMenuBar …. 645
28.2.2. Класс QMenu …. 646
28.2.3. Контекстное меню … 648
28.2.4. Класс QAction … 649
28.2.5. Объединение переключателей в гpynny … 652
28.3. Панели инструментов … 653
28.3.1. Класс QToolBar … 653
28.3.2. Класс QToolButton … 655
28.4. Прикрепляемые панели … 656
28.5. Управление строкой состояния … 658
28.6. МDI-приложения … 659
28.6.1. Класс QMdiArea … 659
28.6.2. Класс QMdiSubWindow … 662
28.7. Добавление иконки приложения в область уведомлений … 663

Заключение …. 665
Приложение. Описание электронного архива …. 666
Предметный указатель …. 667

Для сокращения объёма страницы постарался убрать лишние точки.

Приглашаю всех высказываться в Комментариях. Критику и обмен опытом одобряю и приветствую. В хороших комментариях сохраняю ссылку на сайт автора!

И не забывайте, пожалуйста, нажимать на кнопки социальных сетей, которые расположены под текстом каждой страницы сайта.
Python Прохоренок_704Продолжение тут…

Deviz_9

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Проверка комментариев включена. Прежде чем Ваши комментарии будут опубликованы пройдет какое-то время.