Основы Python для будущих инженеров [Андрей Затонский, Николай Бильфельд]

Bot

Администратор
Команда форума
23 Янв 2020
209,260
3,152
113
269049.jpg

1 От Pascal к Python. Введение 8
1.1 Раздел «Теория» 9
1.2 Раздел «Пример разработки игры» 11
1.3 Раздел «Практика» 12
2 Операторы ввода и вывода 13
2.1 Оператор ввода Input 13
2.2 Оператор вывода print 14

3 Типы операторов 17

4 Типы данных 18
4.1 Строки 18
4.2 Числа 19
4.3 Списки 21
4.4 Булевый тип 24
4.5 Проверка типов данных 25
4.6 Выводы 25

5 Работа со списками 26
5.1 Цикл for 26
5.2 Функция range 26
5.3 Функция list 27
5.4 Функция map 27
5.5 Статистика с числовыми списками 28
5.6 Генераторы списков 29
5.7 Работа с частью списка 29
5.8 Перебор содержимого сегмента 30
5.9 Копирование списка 30
5.10 Кортежи 31

6 Условия 32
6.1 Проверка на равенство 32
6.2 Проверка на неравенство 32
6.3 Сравнение чисел 32
6.4 Использование логических функций 33
6.5 Проверка вхождения значений в список 34
6.6 Проверка вхождения переменной в диапазон 34
6.7 Логические переменные 34
6.8 Синтаксисы команды IF 34
6.9 Аналог оператору case 37

7 Словари 38
7.1 Простой словарь 38
7.2 Перебор словаря 41
7.3 Вложения словарей 45

8 Резюме по словарям 48
8.1 Создание словаря 48
8.2 Редактирование словаря 48
8.3 Вывод словаря 49
8.4 Вложения 53

9 Ввод данных и циклы While 57
9.1 Функция input 57
9.2 Цикл While 57
9.3 Использование цикла while со списками и словарями 62

10 Функции 64
10.1 Функции без параметров 64
10.2 Функции с параметрами (аргументами) 64
10.3 Возвращаемые значения 65
10.4 Передача произвольного набора аргументов 69
10.5 Вложенные функции 71
10.6 Хранение функций в модулях 72
10.7 Глобальные и локальные переменные 75

11 Классы 78
11.1 Создание класса Dog() 78
11.2 Создание экземпляра класса 79
11.3 Обращение к свойствам 79

12 Работа с классами и экземплярами 80
12.1 Создание класса Car 80
12.2 Назначение свойству значения по умолчанию 80
12.3 Изменение значений свойств 81
12.4 Наследование 83
12.5 Определение свойств и методов класса-потомка 84
12.6 Переопределение методов класса-родителя 84
12.7 Экземпляры как свойства 85

13 Импортирование классов 87
13.1 Импортирование одного класса 87
13.2 Хранение нескольких классов в модуле 87
13.3 Импортирование нескольких классов из модуля 87
13.4 Импортирование всего модуля 88
13.5 Импортирование всех классов из модуля 88
13.6 Импортирование модуля в модуль 88
13.7 Использование псевдонимов 88

14 Файлы и исключения 90
14.1 Чтение из файла 90
14.2 Запись в файл 93
14.3 Исключения 94
14.4 Сохранение данных 98

15 Множества 102
15.1 Создание 102
15.2 Добавление элементов 102
15.3 Удаление элементов 102
15.4 Операции над множествами 103

16 Кортежи 105
16.1 Использование кортежей в функциях 105

17 Матричные операции 107
17.1 Умножение матриц 107
17.2 Обратная матрица 107
17.3 Решение системы линейных уравнений 107
17.4 Определитель матрицы 108
17.5 Собственные значения и векторы 108
17.6 Ранг матрицы 108
17.7 Транспонирование 109
17.8 Псевдо-обратная матрица (для вырожденных случаев) 109
17.9 Нормы матриц 109

18 Тестирование 110
18.1 Тестирование функции 110

19 Стандартные функции и модули 114
19.1 Краткая теория 114
19.2 Описание функций модуля builtins 134
19.3 Основные функции преобразования модуля builtins 157

20 Стандартные методы 166
20.1 Типы данных 166
20.2 Разработка программы 167

21 Методы строк 173
21.1 Основные методы для работы со строками 173

22 Методы списков 191

23 Методы чисел 194
23.1 Целые, вещественные и комплексные числа 194
23.2 Описание методов 196

24 Методы словарей 201
24.1 Рассмотрим основные методы 201

25 Методы файлов 205
25.1 Рассмотрим основные методы 205

26 Методы байтов 214
26.1 Рассмотрим данные методы 214

27 Функции дополнительных модулей 215
27.1 Функции модуля random 215
27.2 Функции модуля statistics 216
27.3 Функции модуля msvcrt 218
27.4 Функции модуля json 220
27.5 Функции модуля time 221
27.6 Функции модуля math 222
27.7 Функции модуля pandas 222
27.8 Функции модуля operator 226

28 Ключевые слова 229
28.1 Назначение ключевых слов 233

29 Создание игры «Инопланетное вторжение» 244
29.1 Планирование проекта 244
29.2 Установка пакета pygame 244
29.3 Создание окна Pygame и обработка ввода 244
29.4 Назначение цвета фона 245
29.5 Создание класса Settings 245
29.6 Добавление изображения корабля 247
29.7 Рефакторинг: методы _check_events() и _update_screen() 249
29.8 Управление кораблем 250
29.9 Перемещение влево и вправо 252
29.10 Регулировка скорости корабля 253
29.11 Ограничение перемещений 254
29.12 Рефакторинг _check_events() 254
29.13 Стрельба 256
29.14 Создание метода _update_bullets() 260
29.15 Создание пришельца 260
29.16 Создание экземпляра Alien 261
29.17 Построение флота 262
29.18 Перемещение флота 264
29.19 Уничтожение пришельцев 267
29.20 Завершение игры 268
29.21 Листинг программы 272

30 Задачи на линейные алгоритмы 279
30.1 Краткая теория 279
30.2 Задачи 279
30.3 Решения 281

31 Задачи на условия 285
31.1 Краткая теория 285
31.2 Задачи 286
31.3 Решения 291

32 Задачи на циклы 310
32.1 Краткая теория 310
32.2 Задачи 314
32.3 Решения 320

33 Задачи на вложенные циклы 337
33.1 Задачи 337
33.2 Решения 339

34 Задачи на одномерные массивы 353
34.1 Краткая теория 353
34.2 Задачи на анализ массивов 358
34.3 Использование вспомогательных массивов 360
34.4 Задачи на модификацию массивов 361
34.5 Решения задач на анализ массива 362
34.6 Решения задач на вспомогательные массивы 392
34.7 Решения задач на модификацию массивов 404

35 Задачи на двумерные массивы 420
35.1 Краткая теория 420
35.2 Задачи 422
35.3 Решения 423

36 Задачи на строки 443
36.1 Краткая теория 443
36.2 Аналоги процедур и функций на Pascal 445
36.3 Задачи 448
36.4 Решения 449

37 Выводы 465

Список литературы 466