Основы программирования на Python

Основы программирования на Python

Основы программирования на Python
Автор: Чернышев Станислав Андреевич
Дата выхода: 2022
Издательство: ООО «Электронное издательство Юрайт»
Количество страниц: 287
Размер файла: 4,9 МБ
Тип файла: PDF
Добавил: codelibs
 Проверить на вирусы  Дополнительные материалы 

Оглавление  
Введение  

ТЕМА 1. КРАТКАЯ ИСТОРИЯ PYTHON, ЕГО ОСОБЕННОСТИ И ТИПЫ ДАННЫХ  
1.1. Краткая история языка программирования Python  
1.2. В Python все является объектом  
1.3. В Python нет переменных  
1.4. Интернированные (intern) объекты в Python  
1.5. Глобальная блокировка интерпретатора  
1.6. Подходы к сборке мусора в Python  
1.6.1. Алгоритм подсчета ссылок  
1.6.2. Garbage Collector (GC)  
1.6.3. Слабые ссылки  
1.7. Встроенные типы данных Python  
1.7.1. Строки  
1.7.2. Списки  
1.7.3. Словари  
1.7.4. Кортежи  
1.7.5. Файлы  
1.7.6. Множества  
Резюме  
Вопросы и задания для самопроверки  
Упражнения  

ТЕМА 2. СИНТАКСИС, ОПЕРАТОРЫ И УПРАВЛЯЮЩИЕ КОНСТРУКЦИИ  
2.1. Основные операторы в Python  
2.2. Использование отступов в Python  
2.3. Комментарии  
2.4. Правила именования переменных (имен)  
2.5. Оператор if  
2.6. Цикл while  
2.6.1. Работа цикла с операторами break, continue, pass  
2.7. Цикл for  
2.8. Различные способы написания циклов  
2.8.1. Использование встроенной функции range  
2.8.2. Использование встроенной функции zip  
2.8.3. Использование встроенной функции enumerate  
2.9. Итерации и включения  
2.9.1. Итератор и итерируемый объект  
2.9.2. Списковые включения (list comprehension)  
2.10. Источники документации Python  
Резюме  
Вопросы для самопроверки  
Упражнения  

ТЕМА 3. ФУНКЦИИ В PYTHON  
3.1. Области видимости  
3.1.1. Области видимости и вложенные функции  
3.1.2. Пример работы с областями видимости  
3.1.3. Замыкания  
3.2. Аргументы функции  
3.2.1. Значения аргументов по умолчанию  
3.2.2. Режимы сопоставления аргументов функции  
3.3. Возвращение результатов выполнения функцией  
3.4. Рекурсия  
3.5. Аннотация функций  
3.6. Лямбда-функции (выражения)  
3.7. Декораторы  
3.8. Генераторы  
3.8.1. Генераторные функции  
3.8.2. Генераторные выражения  
Резюме  
Вопросы и задания для самопроверки  
Упражнения  

ТЕМА 4. МОДУЛИ И ПАКЕТЫ  
4.1. Принцип работы импортирования  
4.1.1. Поиск файла подключаемого модуля  
4.1.2. Компиляция импортируемого модуля в байт-код  
4.1.3. Выполнение кода модуля  
4.2. Создание и использование модулей  
4.2.1. Пространства имен модулей  
4.2.2. Перезагрузка модулей  
4.2.3. Запуск модуля как автономной программы  
4.2.4. Внутренние имена в модулях  
4.3. Создание и использование пакетов модулей  
Резюме  
Вопросы и задания для самопроверки  
Упражнения  

ТЕМА 5. КЛАССЫ И ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ  
5.1. Определение класса  
5.2. Имена (переменные) экземпляров класса  
5.3. Методы экземпляра класса  
5.4. Имена (переменные) класса  
5.5. Статические методы  
5.6. Методы класса  
5.7. Приватные методы и переменные  
5.8. Наследование  
5.9. Множественное наследование  
5.10. Абстрактные классы и переопределение методов  
5.11. Перегрузка операций  
5.11.1. Перегрузка __add__, __or__, __sub__  
5.11.2. Перегрузка __getitem__ и __setitem__  
5.11.3. Перегрузка __iter__ и __next__  
5.11.4. Перегрузка __contains__  
5.11.5. Перегрузка __getattr__ и __setattr__  
5.11.6. Перегрузка __repr__ и __str__  
5.11.7. Перегрузка __call__  
5.11.8. Перегрузка методов сравнения  
5.11.9. Перегрузка __len__ и __bool__  
5.11.10. Декоратор @property или свойства  
5.12. Вложенные классы и пространство имен  
5.13. Перечисления (Enum)  
5.13.1. IntEnum  
5.13.2. IntFlag  
5.13.3. Flag  
5.13.4. Расширенные возможности перечислений  
Резюме  
Вопросы для самопроверки  
Упражнения  

ТЕМА 6. ИСКЛЮЧЕНИЯ (EXCEPTION)  
6.1. Пользовательские исключения  
6.2. Основы обработки и генерации исключений  
6.2.1. Унифицированный оператор try/except/finally  
6.2.2. Оператор raise  
6.2.3. Оператор assert  
6.2.4. Оператор with/as и протокол управления контекстами  
6.3. Встроенные классы исключений  
Резюме  
Вопросы и задания для самопроверки  
Упражнения  

ТЕМА 7. ПОТОКИ, ПРОЦЕССЫ И АСИНХРОННОЕ ПРОГРАММИРОВАНИЕ  
7.1. Многопоточное программирование  
7.1.1. Модуль threading и класс Thread  
7.1.2. Потоки Timer  
7.1.3. Класс RLock. Управление доступом к ресурсам  
7.1.4. Синхронизация потоков  
7.1.5. Семафоры  
7.2. Multiprocessing  
7.2.1. Модуль multiprocessing и класс Process  
7.2.2. Взаимодействие между процессами  
7.2.3. Пул процессов  
7.3. Асинхронное программирование  
7.3.1. Планирование времени вызова функций  
7.3.2. Асинхронное получение результатов  
7.3.3. Параллельное выполнение задач  
7.4. Что и когда использовать?  
Резюме  
Вопросы и задания для самопроверки  
Упражнения  

ТЕМА 8. РАЗРАБОТКА ГРАФИЧЕСКОГО ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА  
8.1. Установка PySide2  
8.2. Основы разработки GUI  
8.2.1. Hello World  
8.2.2. QPushButton и QLabel  
8.2.3. QLineEdit  
8.2.4. QCheckBox  
8.2.5. Компоновка элементов GUI  
8.3. Пользовательские виджеты и сигнал-слотовый механизм  
8.4. Использование Qt Designer для разработки GUI  
Резюме  
Вопросы и задания для самопроверки  
Упражнения  

ТЕМА 9. СЕТЕВОЕ ПРОГРАММИРОВАНИЕ  
9.1. Архитектура «клиент-сервер»  
9.1.1. Логика работы без установления соединения  
9.1.2. Логика работы с установлением соединения  
9.2. Модуль socket  
9.3. Пример клиента и сервера, работающих без установления соединения  
9.4. Пример клиента и сервера, работающих с установлением соединения  
9.5. Фреймворк для сетевых серверов — socketserver  
9.5.1. TCP эхо-сервер с использованием TCPServer  
9.5.2. UDP эхо-сервер с использованием UDPServer  
Резюме  
Вопросы и задания для самопроверки  
Упражнения  

ТЕМА 10. ХРАНЕНИЕ ДАННЫХ И ОБМЕН ДАННЫМИ  
10.1. Создание базы данных SQLite  
10.2. Использование переменных в запросах  
10.2.1. Запросы с позиционными параметрами  
10.2.2. Запросы с именованными параметрами  
10.3. Транзакции  
10.4. Уровни изоляции (доступа)  
Резюме  
Вопросы для самопроверки  
Упражнения  

ТЕМА 11. ТЕСТИРОВАНИЕ  
11.1. Тестирование с использованием библиотеки PyTest  
11.1.1. Простые тесты  
11.1.2. Запуск одного или нескольких тестов  
11.1.3. Запуск подмножества тестов  
11.1.4. Использование фикстур  
11.1.5. Параллельный запуск тестов  
11.2. Тестирование с использованием unittest  
11.2.1. Пример простого теста  
11.2.2. Использование объектов-подделок  
Резюме  
Вопросы и задания для самопроверки  
Упражнения  

Список используемых источников  
Новинки по дисциплине «Программирование на языке Python» и смежным дисциплинам  

В курсе подробно описывается не только большое количество базовых понятий и операторов языка программирования Python, но и ряд нюансов, с которыми так или иначе предстоит встретиться при его использовании в процессе написания программных продуктов. Материал подается по принципу «от простого к сложному» и сопровождается большим количеством примеров и упражнений, что позволяет сформировать у студентов практические навыки программирования и тестирования разрабатываемых приложений. Все исходные коды рассматриваемых примеров можно скачать с репозитория автора на GitHub. Соответствует актуальным требованиям федерального государственного образовательного стандарта высшего образования. Курс предназначен для студентов высших учебных заведений, которые обучаются по инженерно-техническим направлениям.


Похожее:

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

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