Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Алгоритмизация и программирование. Язык Python. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
1 Мб
Скачать
Министерство науки и высшего образования Российской Федерации
федеральное государственное бюджетное образовательное учреждение
высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ПРОМЫШЛЕННЫХ ТЕХНОЛОГИИ И ДИЗАЙНА»
Н. В. ДРОБОТУН Е. О. РУДКОВ Н. А. БАЕВ
АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ.
Утверждено Редакционно-издательским советом
в качестве учебного пособия
Санкт-Петербург
2020
Д75
Алгоритмизация и программирование. Язык Python: учеб. пособие / Н. В. Дроботун, Е. О. Рудков, Н. А. Баев. – СПб.: ФГБОУВО «СПбГУПТД», 2020. –118 с.: ил.
ISBN 978-5-7937-1829-5
ФГБОУВО «СПбГУПТД», 2020 Дроботун Н. В, 2020 Рудаков Е. О., 2020 Баев И. А., 2020
УДК 004.432.2 (075.8) ББК 32.973.22я73 Д75
Рецензенты:
старший научный сотрудник, кандидат технических наук, доцент МДТТ
ФГБОУ ВО "Балтийский государственный технический университет "ВОЕН-
МЕХ" им. Д. Ф. Устинова"
Н. Р. Туркина;
кандидат технических наук, доцент, заведующий кафедрой
Санкт-Петербургского государственного университета промышленных техно-
логий и дизайна
Н. Ю. Бусыгин
Дроботун, Н. В.
ISBN 978-5-7937-1829-5
В учебном пособии представлен материал по программированию на
языке Python. Представленный теоретический материал иллюстрируется
примерами написания программ на представленном языке высокого
уровня.
Предназначено для студентов, обучающихся по направлению подго-
товки 09.03.03 Прикладная информатика.
УДК 004.432.2 (075.8)
ББК 32.973.22я73
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ ................................................................................................................. 6
1. Запуск программ на Python .................................................................................... 7
1.1. Интерактивный режим работы ........................................................................ 8
1.2. Интегрированная среда программирования (IDE) PyCharm ........................ 9
2. ОСНОВЫ ПРОГРАММИРОВАНИЯ НА PYTHON .................................... 11
2.1. Структура программы в Python ..................................................................... 11
2.2. Понятие данных .............................................................................................. 12
2.3. Переменные ..................................................................................................... 12
2.4. Типы данных ................................................................................................... 13
2.5. Операторы. ....................................................................................................... 15
2.6. Выражения. ...................................................................................................... 16
2.7. Строки .............................................................................................................. 18
2.8. Списки .............................................................................................................. 23
2.9. Ввод и вывод данных...................................................................................... 25
2.9.1. Ввод данных .............................................................................................. 25
2.9.2. Вывод данных ........................................................................................... 26
2.10. Пример исходного кода программы ........................................................... 30
2.10.1. Математическая постановка задачи ..................................................... 30
2.10.2. Алгоритм решения задачи ..................................................................... 30
2.10.3. Исходный код программы ..................................................................... 31
2.11. Обработка исключений ................................................................................ 31
2.11.1. Перехват исключений ............................................................................ 32
2.11.2. Несколько блоков except ........................................................................ 34
2.11.3. Вложенные блоки и else ......................................................................... 34
2.11.4. Блок finally .............................................................................................. 35
2.11.5. Пользовательские исключения ............................................................. 36
2.11.6. Запись в лог ............................................................................................. 37
2.11.7. Иерархия исключений ............................................................................ 38
3. УПРАВЛЯЮЩИЕ КОНСТРУКЦИИ ЯЗЫКА ............................................. 40
3.1. Условный оператор ветвления if ................................................................... 40
3.1.1. Конструкция if........................................................................................... 40
3.1.2. Конструкция if – else ................................................................................ 40
3.1.3. Конструкция if – elif – else ....................................................................... 41
3.2. Оператор цикла while ...................................................................................... 42
3.3. Операторы break и continue ........................................................................... 42
3.4. Оператор цикла for ......................................................................................... 43
3.5. Функции range() и list() .................................................................................. 44
3.6. Оператор pass .................................................................................................. 45
4. ФУНКЦИИ ........................................................................................................... 45
4.1. Определения функций .................................................................................... 48
4.1.1. Значения аргументов по умолчанию ...................................................... 48
3
4.1.2. Аргументы с ключевым словом .............................................................. 49
4.1.3. Произвольные списки аргументов .......................................................... 50
4.1.4. Распаковка списков аргументов .............................................................. 51
4.1.5. Возврат значений из функции. Оператор return ................................... 52
4.1.6. Возврат нескольких значений ............................................................... 53
4.2. Lambda-выражения ......................................................................................... 54
4.3. Строки документации ..................................................................................... 54
4.4. Аннотации функций ....................................................................................... 55
5. СТРУКТУРЫ ДАННЫХ ................................................................................... 56
5.1. Подробнее о списках ...................................................................................... 56
5.1.1. Использование списков в качестве стеков ............................................. 58
5.1.2. Использование списков в качестве очередей ........................................ 58
5.1.3. Генераторы списков ................................................................................. 59
5.1.4. Вложенные генераторы списков ............................................................. 61
5.1.5. Оператор del .............................................................................................. 62
5.2. Кортежи и последовательности ..................................................................... 63
5.3. Множества ....................................................................................................... 64
5.4. Словари ............................................................................................................ 65
5.4.1. Методы словарей ...................................................................................... 67
5.5. Приемы использования цикла ....................................................................... 69
5.6. Подробнее об условиях .................................................................................. 71
5.7. Сравнение последовательностей и других типов ........................................ 71
6. МОДУЛИ .............................................................................................................. 72
6.1. Подробнее о модулях ..................................................................................... 73
6.2. Стандартные модули ...................................................................................... 74
6.3. Функция dir() ................................................................................................... 75
6.4. Пакеты .............................................................................................................. 77
6.5. Импортирование * из пакета ......................................................................... 79
6.6. Внутрипакетные ссылки................................................................................. 80
6.7. Пакеты во множестве директорий ................................................................ 80
7. КЛАССЫ В PYTHON ......................................................................................... 81
7.1. Создание классов и объектов ......................................................................... 81
7.2. Конструктор класса ........................................................................................ 82
7.3. Наследование ................................................................................................... 83
7.4. Полиморфизм .................................................................................................. 83
7.5. Работа с датами и временем ........................................................................... 84
7.5.1. Модуль datetime ........................................................................................ 84
7.5.2. Класс date .................................................................................................. 84
7.5.3. Класс time .................................................................................................. 85
7.5.4. Класс datetime ........................................................................................... 85
7.5.5. Преобразование из строки в дату ........................................................... 86
8. РАБОТА С ФАЙЛАМИ ..................................................................................... 87
8.1. Открытие и закрытие файла .......................................................................... 87
4
8.2. Чтение данных из файла................................................................................. 88
8.3. Запись данных в файл ..................................................................................... 89
8.4. Дополнительные методы для работы с файлами ......................................... 89
9. СОЗДАНИЕ ГРАФИЧЕСКОГО ИНТЕРФЕЙСА ........................................ 90
9.1. Tkinter. Создание окна приложения .............................................................. 90
9.2. Кнопки .............................................................................................................. 91
9.3. Изменение свойств элементов ....................................................................... 95
9.4. Текстовая метка Label .................................................................................... 97
9.5. Поле ввода Entry ............................................................................................. 99
9.6. Элемент Checkbutton ..................................................................................... 103
9.7. Элемент Radiobutton ..................................................................................... 105
9.8. Элемент Listbox ............................................................................................. 109
9.9. Меню .............................................................................................................. 112
ЗАКЛЮЧЕНИЕ ..................................................................................................... 117
БИБЛИОГРАФИЧЕСКИЙ СПИСОК .............................................................. 118
5
ВВЕДЕНИЕ
Python представляет высокоуровневый язык программирования, который
предназначен для создания приложений различных типов. Это и веб­приложения, и игры, и настольные программы, и работа с базами данных. Са-
мыми популярными направлениями применения Python являются:
1. веб-разработка;
2. data science: машинное обучение, анализ данных и визуализация;
3. автоматизация процессов.
Python отличает простой и понятный синтаксис, благодаря которому пи-
сать код гораздо легче, чем на других языках. Разработчики на Python ценят кра-
соту и ясность кода, что нашло отражение в их философии под названием «Дзен
Питона». «Читаемость имеет значение», «Простое лучше, чем сложное» – вот некоторые положения этой философии.
Впервые язык Python был анонсирован в 1991 году голландским разра-
ботчиком Гвидо Ван Россумом. С тех пор данный язык проделал большой путь
развития. В 2000 году была издана версия 2.0, а в 2008 году – версия 3.0.
Основные особенности языка программирования Python:
скриптовый язык – исходные коды программ определяется в виде
скриптов;
поддержка самых различных парадигм программирования (подход к
программированию), в том числе объектно-ориентированной и функциональ­ной парадигм;
интерпретация программ – наличие интерпретатора для запуска и вы-
полнения скрипта.
Выполнение программы на Python происходит по следующему алгоритму: написание в текстовом редакторе скрипта с набором выражений на
данном языке программирования;
передача скрипта на выполнение интерпретатору; интерпретатор транслирует код в промежуточный байткод; виртуальная машина переводит полученный байткод в набор инструк-
ций;
операционная система выполняет инструкции. Функционал алгоритма представлен на рис. 1.
Формально трансляция интерпретатором исходного кода в байткод и пе­ревод байткода виртуальной машиной в набор машинных команд представляют два разных процесса, но фактически они объединены в самом интерпретаторе,
следствием чего являются:
портативность и платформонезависимость: не имеет значения, какая
операционная система установлена на компьютере – Windows, Mac OS, Linux,
достаточно написать скрипт, который будет запускаться на всех этих ОС при
наличии интерпретатора;
автоматическое управление памяти;
6
динамическая типизация: переменная связывается с типом данных в
момент присваивания значения, а не в момент объявления переменно
Рис. 1. Выполнение программы на Python
1. ЗАПУСК ПРОГРАММ НА PYTHON
Язык Python – интерпретируемый язык. Это означает, что помимо непо­средственно самой программы необходим специальный инструмент для её за­пуска. Существуют компилируемые и интерпретируемые языки программиро­вания. В первом случае программа с языка высокого уровня переводится в ма­шинный код для конкретной платформы. В дальнейшем среди пользователей она, как правило, распространяется в виде бинарного файла. Для запуска такой программы не нужны дополнительные программные средства (за исключением
необходимых библиотек, но эти тонкости выходят за рамки нашего обсужде-
ния). Самыми распространенными языками такого типа являются C++ и C. Программы на интерпретируемых языках выполняются интерпретатором и распространяются в виде исходного кода.
Python может работать в двух режимах:
интерактивный;
интегрированной среде программирования.
7
1.1. Интерактивный режим работы
В интерактивный режим можно войти, набрав в командной строке > Python3. В результате Python запустится в интерактивном режиме и будет ожи-
дать ввод команды пользователя в строке-приглашении в начале которой стоит знак, состоящий из трех знаков больше >>>. Пример окна представлен на рис. 2.
Рис. 2. Окно интерактивного режима работы Python3
Python можно использовать как калькулятор для различных вычислений, а если дополнительно подключить необходимые математические библиотеки, то по своим возможностям он становится практически равным таким пакетам, как Matlab, Octave и т. п. Пример использования Python в качестве калькулято­ра представлен на рис. 3.
8
Рис. 3. Пример использования Python в качестве калькулятора
Для выхода из интерактивного режима наберите команду exit() и нажмите
ENTER.
1.2. Интегрированная среда программирования (IDE) PyCharm
В комплекте вместе с интерпретатором Python идет IDLE (интегрирован­ная среда разработки). По своей сути она подобна интерпретатору, запущенно­му в интерактивном режиме с расширенным набором возможностей (подсветка синтаксиса, просмотр объектов, отладка и т. п.). Для входа в среду необходимо запустить (IDE) PyCharm (рис. 4).
Рис. 4. Заставка интегрированной среды программирования PyCharm
При запуске среды откроется окно загрузки программных компонентов. Для продолжения работы необходимо выбрать проект (рис. 5). Если проект уже создан, откроется меню выбора проектов, из которого следует выбрать подхо­дящий для работы проект.
9
Для работы в среде используется многоуровневое меню, представленное
на рис. 6.
Рис. 5. Окно проектов
Рис. 6. Многоуровневое меню интегрированной среды программирования
PyCharm
Исходные коды программ создаются в рабочих файла формата Python с расширение .py.
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]