Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Язык программирования высокого уровня Python. Функции, структуры данных, дополнительные модули. Учебное пособие
.pdf
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное
учреждение высшего образования
«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
Институт компьютерных технологий и информационной безопасности
В. М. Шелудько
ЯЗЫК ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ
PYTHON. ФУНКЦИИ, СТРУКТУРЫ ДАННЫХ,
ДОПОЛНИТЕЛЬНЫЕ МОДУЛИ
Учебное пособие
Ростов-на-Дону – Таганрог
Издательство Южного федерального университета
2017

УДК 004.43(075)
ISBN 978-5-9275-2648-2
УДК 004.43(075)
ББК 32.973Я73
© Южный федеральный университет, 2017
© Шелудько В. М., 2017
© Оформление. Макет. Издательство
Южного федерального университета, 2017
ББК 32.973Я73
Ш447
Печатается по решению кафедры безопасности информационных
технологий Института компьютерных технологий и информационной
безопасности Южного федерального университета
(протокол №8 от 10 февраля 2017 г.)
Рецензенты:
заведующий кафедрой безопасности информационных технологий,
доцент, кандидат технических наук Е. С. Абрамов
кандидат технических наук Д. В. Мордвин
Шелудько, В. М.
Ш447 Язык программирования высокого уровня Python. Функции,
структуры данных, дополнительные модули : учебное пособие /
В. М. Шелудько ; Южный федеральный университет. – Ростов-наДону ; Таганрог : Издательство Южного федерального университета, 2017. – 107 с.
ISBN 978-5-9275-2648-2
В учебном пособии рассматриваются принципы разработки
пользовательских процедур, структур данных и модулей на языке
высокого уровня Python. Дается краткое описание основных модулей языка. Большое количество наглядных примеров позволит
освоить основные принципы составления программ на языке Python.

СОДЕРЖАНИЕ
Предисловие ……………………………………………….…………….... 4
Введение ………………………………………………………………….. 7
1. Логические компоненты программ на языках программирования
высокого уровня ...…………………………………….…………………….. 8
2. Создание функций в Питон ……………………….…………………. 13
2.1. Оформление функций …………..…………….……………………. 13
2.2. Аргументы функций …………………………………………...….. 15
3. Создание структуры данных в Питон ....………………………… 18
Задания для закрепления темы «Структуры в Pythonе» …….………... 21
4. Работа с файлами в Питон …………………………….……………... 32
4.1. Открытие файла …………………………………….………………. 32
4.2. Методы для работы с файлами …………………….……………… 34
5. Модули в Питон …………………………………………..…………... 36
6. Модуль OS для работы в файловой системе ……………..…………. 38
7. Модуль Math …………………………………………….……………. 44
8. Язык регулярных выражений ………………………….…………….. 46
9. Модуль Re ………………………………………………….…………. 57
9.1. Основные методы объекта регулярных выражений ……..……….. 58
9.2. Основные функции модуля Re ……………………………..………. 61
9.3. Объекты MatchObject …………………………………….………… 62
10. Работа с датой и временем (модуль Datetime) …………….………. 64
11. Модуль Random. Генерация случайных чисел ……………………… 70
12. Графическая библиотека Tkinter ……………………………..……… 73
Заключение ……………………………………………………..………... 104
Библиографический список …………………………………..………... 105
3

ПРЕДИСЛОВИЕ
Пособие «Основы программирования на языке высокого уровня Python» стоит в ряду учебных пособий, посвященных основам программирования на языках высокого уровня, а в частности, разработке функций,
структур, объектов и модулей [15]. Также рассматриваются наиболее
распространенные стандартные и дополнительные модули языка Питон,
их функции и методы.
Материал пособия учитывает требования к формированию профессиональных компетенций специалистов в области защиты информации.
При подготовке данного учебного пособия ставились следующие задачи:
- рассмотреть основные принципы разработки функций, структур,
объектов и модулей на языке Питон;
- рассмотреть наиболее распространенные стандартные и дополни-
тельные модули языка Питон, их функции и методы;
- дать примеры программ, наглядно демонстрирующие основные
возможности языка Python.
Во введении обоснована актуальность темы учебного пособия.
В Главе 1 «Рекомендации по выбору и изучению обучающей литературы. Рекомендуемые источники информации по Pythonу» даны рекомендации по выбору и изучению обучающей литературы, а также приведены
основные источники литературы, рекомендуемые для более глубокого
изучения языка Python.
В главе Глава 2 «Общие сведения о языке программирования Python»
приведена характеристика языка Python, а также краткие сведения о языке
Python, философия языка.
В Главе 3 «Установка интерпретатора языка Python» описан пошагово процесс установки интерпретатора, запуск интерактивной оболочки, а
также использование встроенного редактора IDLE.
В Главе 4 описан рекомендуемый стиль кода программ на языке
Python, а также синтаксис языка в соответствии со стандартом PEP8.
Все последующие главы посвящены основам языка Python. Содержат
задания для самостоятельного выполнения, предназначенные для закрепления пройденного материала.
В прил. 1 приведены рекомендованные сайты по теме пособия.
4

Предисловие
В заключении устанавливается взаимосвязь между материалом учеб-
ного пособия и составляющими профессиональных компетенций.
Освоение материала данного учебного пособия лежит в основе фор-
мирования у обучающихся следующих профессиональных компетенций:
- способность проводить анализ, предлагать и обосновывать выбор
решений по обеспечению эффективного применения автоматизированных
систем в сфере профессиональной деятельности (ПК-3);
- способность разрабатывать и анализировать проектные решения по
обеспечению безопасности автоматизированных систем, систем управления и средств информационной безопасностью (ПК-4).
Эти профессиональные компетенции необходимы для решения задач, относящихся к таким видам профессиональной деятельности в сфере
информационной безопасности, как научно-исследовательская, проектноконструкторская, контрольно-аналитическая, организационноуправленческая и эксплуатационная.
Изучение данного учебного пособия совместно с другими рекомендованными информационными источниками обеспечивает обучающегося
возможностью приобрести следующие элементы компетенций:
Знания: технологии разработки алгоритмов и программ, методов от-
ладки и решения задач на ЭВМ в различных режимах, основы объектноориентированного подхода к программированию:
– основные алгоритмические структуры и их применение для построения алгоритмов задач по их математическим моделям;
– принципы процедурного программирования;
– принципы объектно-ориентированного программирования;
– язык программирования Phyton;
– основные статические и динамические типы данных.
Умения: ставить задачу и разрабатывать алгоритм ее решения, ис-
пользовать прикладные системы программирования, работать с современными системами программирования, включая объектноориентированные:
– выполнять грамотную постановку задач, возникающих в практи-
ческой деятельности, для их решения с помощью компьютера;
– выполнять формализованное описание поставленных задач;
– составлять программы на языке Python;
5

Предисловие
– выполнять отладку и тестирование программ, написанных на
языке Python, во встроенной в интерпретатор среде разработки.
Навыки: разработки и отладки программ не менее чем на одном из
алгоритмических процедурных языков программирования высокого уровня.
Материалы, вошедшие в данное учебное, обеспечивают учебнометодической базой следующие дисциплины: «Программирование на
языках высокого уровня в задачах защиты информации», «Технологии
программирования на языках высокого уровня», «Сетевое программирование в задачах защиты информации», «Безопасность сетей ЭВМ», а также для подготовки творческих и междисциплинарных курсовых проектов.
В полной мере данное учебное пособие может быть востребовано
при подготовке специалистов по защите информации специальностей:
10.03.01 «Информационная безопасность», 10.05.02 «Информационная
безопасность телекоммуникационных систем», 10.05.03 «Информационная безопасность автоматизированных систем».
6

ВВЕДЕНИЕ
Актуальность разработки данного учебного пособия обусловлена
тем, что язык программирования Python получил широкое применение
всего несколько лет назад, и как следствие, существенный недостаток соответствующей обучающей литературы на русском языке.
Данное учебное пособие разработано и предназначено для первоначального знакомства с базовыми основами языка высокого уровня Python,
как теоретическими, так и практическими.
В учебном пособии даются рекомендации по выбору и изучению
обучающей литературы, а также приведены основные источники литературы, рекомендуемые для более глубокого изучения языка Python. Приведена характеристика языка Python, а также краткие сведения о языке
Python, философия языка. В учебном пособии описывается пошагово процесс установки интерпретатора, запуск интерактивной оболочки, а также
использование встроенного редактора IDLE. Описывается рекомендуемый стиль кода программ на языке Python, а также синтаксис языка в соответствии со стандартом PEP8. Рассматриваются основные операторы,
операции, функции, методы и структуры языка Python. Также даются задания для самостоятельного выполнения, предназначенные для закрепления пройденного материала.
Учебное пособие ориентировано на студентов Института компьютерных технологий и информационной безопасности Южного федерального университета, обучающихся по направлениям 10.03.01 «Информационная безопасность», 10.05.02 «Информационная безопасность телекоммуникационных систем», 10.05.03 «Информационная безопасность автоматизированных систем». Изученный материал позволит самостоятельно
применять полученные знания на практике.
7

1. ЛОГИЧЕСКИЕ КОМПОНЕНТЫ ПРОГРАММ
Подход к изучению языков программирования ничем не отличается
от подхода к изучению естественных языков (русский, английский и т.д).
Соответственно, и основные принципы составления слов, построения
фраз, предложений, текстов программ ничем не отличаются от построения текстов на любом естественном языке.
В естественном языке слово состоит из морфем, фраза из слов,
предложение из фраз, текст из предложений, книга из глав. Подобную
аналогию можно проследить и в языках программирования: фразы и
предложения строят с помощью операторов, отдельные смысловые единицы – с помощью функций и объектов, набор смысловых единиц на одну
тему объединяют в библиотеки (модули). То есть компьютерные программы представляют из себя некий набор логических компонентов.
Рассмотрим подробнее всю иерархию логических компонентов компьютерных программ.
Операторы
Операторы – это простейшие элементы программы, которые позволяют производить действия с данным.
Для того, чтобы запрограммировать логику (перевести с русского
языка на язык программирования высокого уровня) любого линейного
алгоритма достаточно трех операторов, которые составляют основу каждого языка программирования (рис. 1):
То есть, с помощью оператора присваивания можно задать начальные условия задачи. Условный оператор (оператор ветвления) позволяет
выбрать то или иное действие, в зависимости от заданных условий или
начальных значений и является аналогом конструкции русского языка
«если…, то…, иначе». Циклические операторы позволяют для каждого
действия или набора действий задать, сколько раз их необходимо выполнить, и избавляют программистов от многократной записи одних и тех же
действий для разных значений [1].
8

1. Логические компоненты программ
Рис. 1. Операторы языков программирования
Так, например, простая задача: «напишите программу, которая в последовательности, состоящей из n натуральных чисел, определяет максимальное число, кратное 5» легко перекладывается на любой язык программирования с помощью трех основных операторов. Ниже представлено решение этой задачи для языка программирования высокого уровня
Python 3.X:
n = int(input()) # функция ввода данных
max = 0 # оператор присваивания
for i in range(n) : # оператор цикла
a = int(input()) # функция ввода данных
if (a > max) and (a % 5 = =0) : # условный опе-
ратор
max = a # оператор присваивания
print(max) # функция ввода данных
Таким образом, все действия программы, задающие ее логику, реализованы с помощью трех основных операторов, а ввод и вывод данных
осуществляется с помощью вызова стандартных функций языка.
9

1. Логические компоненты программ
Обозначим условно понятие «Оператор» так:
Функции и процедуры
Программный код, представленный выше, написан с помощью не-
скольких операторов и вызова функций ввода/вывода.
Функция – это фрагмент кода, оформленный по определенным в
каждом языке программирования правилам, и решающий одну задачу,
который можно вызывать из любого места программы. Функции в общем
виде состоят из набора операторов и позволяют уменьшить избыточность
программного кода и повысить его структурированность.
Функциональное программирование – это стиль написания программы, в котором задача разбивается на подзадачи, и каждая подзадача
реализуется с помощью отдельной функции.
В языке Python понятие «процедура» отсутствует, поэтому это понятие рассматривать не будем.
Поскольку, каждая функция – это решение отдельной подзадачи, то
реализуется с помощью представленных выше операторов присваивания,
поэтому в общем виде представим функцию, как набор операторов.
Обозначим условно понятие «Функция»
Ф
О
Функция
…
О
О
Классы
Класс – это описание реального объекта, включающее набор харак-
теристик объекта и действий, которые может осуществлять объект, а также над объектом и его характеристиками.
В программировании характеристики объекта задаются с помощью
набора операторов присваивания, а действия реализуются, как функции
управления этими переменными. Переменные класса в Pythonе называются атрибутами, а функции – методами.
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
