Язык программирования высокого уровня Python. Функции, структуры данных, дополнительные модули
Покупка
Основная коллекция
Издательство:
Южный федеральный университет
Автор:
Шелудько Виктория Михайловна
Год издания: 2017
Кол-во страниц: 107
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Специалитет
ISBN: 978-5-9275-2648-2
Артикул: 708971.01.99
В учебном пособии рассматриваются принципы разработки пользовательских процедур, структур данных и модулей на языке высокого уровня Python. Дается краткое описание основных модулей языка. Большое количество наглядных примеров позволит освоить основные принципы составления программ на языке Python.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
- 10.03.01: Информационная безопасность
- ВО - Специалитет
- 10.05.03: Информационная безопасность автоматизированных систем
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ» Институт компьютерных технологий и информационной безопасности В. М. Шелудько ЯЗЫК ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ PYTHON. ФУНКЦИИ, СТРУКТУРЫ ДАННЫХ, ДОПОЛНИТЕЛЬНЫЕ МОДУЛИ Учебное пособие Ростов-на-Дону – Таганрог Издательство Южного федерального университета 2017
УДК 004.43(075) ББК 32.973Я73 Ш447 Печатается по решению кафедры безопасности информационных технологий Института компьютерных технологий и информационной безопасности Южного федерального университета (протокол №8 от 10 февраля 2017 г.) Рецензенты: заведующий кафедрой безопасности информационных технологий, доцент, кандидат технических наук Е. С. Абрамов кандидат технических наук Д. В. Мордвин Шелудько, В. М. Ш447 Язык программирования высокого уровня Python. Функции, структуры данных, дополнительные модули : учебное пособие / В. М. Шелудько ; Южный федеральный университет. – Ростов-наДону ; Таганрог : Издательство Южного федерального университета, 2017. – 107 с. ISBN 978-5-9275-2648-2 В учебном пособии рассматриваются принципы разработки пользовательских процедур, структур данных и модулей на языке высокого уровня Python. Дается краткое описание основных модулей языка. Большое количество наглядных примеров позволит освоить основные принципы составления программ на языке Python. ISBN 978-5-9275-2648-2 УДК 004.43(075) ББК 32.973Я73 © Южный федеральный университет, 2017 © Шелудько В. М., 2017 © Оформление. Макет. Издательство Южного федерального университета, 2017
СОДЕРЖАНИЕ Предисловие ……………………………………………….…………….... 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
ПРЕДИСЛОВИЕ Пособие «Основы программирования на языке высокого уровня Py thon» стоит в ряду учебных пособий, посвященных основам программирования на языках высокого уровня, а в частности, разработке функций, структур, объектов и модулей [15]. Также рассматриваются наиболее распространенные стандартные и дополнительные модули языка Питон, их функции и методы. Материал пособия учитывает требования к формированию профес сиональных компетенций специалистов в области защиты информации. При подготовке данного учебного пособия ставились следующие за дачи: - рассмотреть основные принципы разработки функций, структур, объектов и модулей на языке Питон; - рассмотреть наиболее распространенные стандартные и дополни тельные модули языка Питон, их функции и методы; - дать примеры программ, наглядно демонстрирующие основные возможности языка Python. Во введении обоснована актуальность темы учебного пособия. В Главе 1 «Рекомендации по выбору и изучению обучающей литера туры. Рекомендуемые источники информации по Pythonу» даны рекомендации по выбору и изучению обучающей литературы, а также приведены основные источники литературы, рекомендуемые для более глубокого изучения языка Python. В главе Глава 2 «Общие сведения о языке программирования Python» приведена характеристика языка Python, а также краткие сведения о языке Python, философия языка. В Главе 3 «Установка интерпретатора языка Python» описан пошаго во процесс установки интерпретатора, запуск интерактивной оболочки, а также использование встроенного редактора IDLE. В Главе 4 описан рекомендуемый стиль кода программ на языке Python, а также синтаксис языка в соответствии со стандартом PEP8. Все последующие главы посвящены основам языка Python. Содержат задания для самостоятельного выполнения, предназначенные для закрепления пройденного материала. В прил. 1 приведены рекомендованные сайты по теме пособия.
Предисловие 5 В заключении устанавливается взаимосвязь между материалом учеб ного пособия и составляющими профессиональных компетенций. Освоение материала данного учебного пособия лежит в основе фор мирования у обучающихся следующих профессиональных компетенций: - способность проводить анализ, предлагать и обосновывать выбор решений по обеспечению эффективного применения автоматизированных систем в сфере профессиональной деятельности (ПК-3); - способность разрабатывать и анализировать проектные решения по обеспечению безопасности автоматизированных систем, систем управления и средств информационной безопасностью (ПК-4). Эти профессиональные компетенции необходимы для решения за дач, относящихся к таким видам профессиональной деятельности в сфере информационной безопасности, как научно-исследовательская, проектноконструкторская, контрольно-аналитическая, организационно управленческая и эксплуатационная. Изучение данного учебного пособия совместно с другими рекомен дованными информационными источниками обеспечивает обучающегося возможностью приобрести следующие элементы компетенций: Знания: технологии разработки алгоритмов и программ, методов от ладки и решения задач на ЭВМ в различных режимах, основы объектноориентированного подхода к программированию: – основные алгоритмические структуры и их применение для по строения алгоритмов задач по их математическим моделям; – принципы процедурного программирования; – принципы объектно-ориентированного программирования; – язык программирования Phyton; – основные статические и динамические типы данных. Умения: ставить задачу и разрабатывать алгоритм ее решения, ис пользовать прикладные системы программирования, работать с современными системами программирования, включая объектно ориентированные: – выполнять грамотную постановку задач, возникающих в практи ческой деятельности, для их решения с помощью компьютера; – выполнять формализованное описание поставленных задач; – составлять программы на языке Python;
Предисловие 6 – выполнять отладку и тестирование программ, написанных на языке Python, во встроенной в интерпретатор среде разработки. Навыки: разработки и отладки программ не менее чем на одном из алгоритмических процедурных языков программирования высокого уровня. Материалы, вошедшие в данное учебное, обеспечивают учебно методической базой следующие дисциплины: «Программирование на языках высокого уровня в задачах защиты информации», «Технологии программирования на языках высокого уровня», «Сетевое программирование в задачах защиты информации», «Безопасность сетей ЭВМ», а также для подготовки творческих и междисциплинарных курсовых проектов. В полной мере данное учебное пособие может быть востребовано при подготовке специалистов по защите информации специальностей: 10.03.01 «Информационная безопасность», 10.05.02 «Информационная безопасность телекоммуникационных систем», 10.05.03 «Информационная безопасность автоматизированных систем».
ВВЕДЕНИЕ Актуальность разработки данного учебного пособия обусловлена тем, что язык программирования Python получил широкое применение всего несколько лет назад, и как следствие, существенный недостаток соответствующей обучающей литературы на русском языке. Данное учебное пособие разработано и предназначено для первона чального знакомства с базовыми основами языка высокого уровня Python, как теоретическими, так и практическими. В учебном пособии даются рекомендации по выбору и изучению обучающей литературы, а также приведены основные источники литературы, рекомендуемые для более глубокого изучения языка Python. Приведена характеристика языка Python, а также краткие сведения о языке Python, философия языка. В учебном пособии описывается пошагово процесс установки интерпретатора, запуск интерактивной оболочки, а также использование встроенного редактора IDLE. Описывается рекомендуемый стиль кода программ на языке Python, а также синтаксис языка в соответствии со стандартом PEP8. Рассматриваются основные операторы, операции, функции, методы и структуры языка Python. Также даются задания для самостоятельного выполнения, предназначенные для закрепления пройденного материала. Учебное пособие ориентировано на студентов Института компью терных технологий и информационной безопасности Южного федерального университета, обучающихся по направлениям 10.03.01 «Информационная безопасность», 10.05.02 «Информационная безопасность телекоммуникационных систем», 10.05.03 «Информационная безопасность автоматизированных систем». Изученный материал позволит самостоятельно применять полученные знания на практике.
1. ЛОГИЧЕСКИЕ КОМПОНЕНТЫ ПРОГРАММ Подход к изучению языков программирования ничем не отличается от подхода к изучению естественных языков (русский, английский и т.д). Соответственно, и основные принципы составления слов, построения фраз, предложений, текстов программ ничем не отличаются от построения текстов на любом естественном языке. В естественном языке слово состоит из морфем, фраза из слов, предложение из фраз, текст из предложений, книга из глав. Подобную аналогию можно проследить и в языках программирования: фразы и предложения строят с помощью операторов, отдельные смысловые единицы – с помощью функций и объектов, набор смысловых единиц на одну тему объединяют в библиотеки (модули). То есть компьютерные программы представляют из себя некий набор логических компонентов. Рассмотрим подробнее всю иерархию логических компонентов ком пьютерных программ. Операторы Операторы – это простейшие элементы программы, которые позво ляют производить действия с данным. Для того, чтобы запрограммировать логику (перевести с русского языка на язык программирования высокого уровня) любого линейного алгоритма достаточно трех операторов, которые составляют основу каждого языка программирования (рис. 1): То есть, с помощью оператора присваивания можно задать началь ные условия задачи. Условный оператор (оператор ветвления) позволяет выбрать то или иное действие, в зависимости от заданных условий или начальных значений и является аналогом конструкции русского языка «если…, то…, иначе». Циклические операторы позволяют для каждого действия или набора действий задать, сколько раз их необходимо выполнить, и избавляют программистов от многократной записи одних и тех же действий для разных значений [1].
1. Логические компоненты программ 9 Рис. 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) # функция ввода данных Таким образом, все действия программы, задающие ее логику, реали зованы с помощью трех основных операторов, а ввод и вывод данных осуществляется с помощью вызова стандартных функций языка.