Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Основы программирования на языке высокого уровня Python

Покупка
Основная коллекция
Артикул: 708970.01.99
Доступ онлайн
175 ₽
В корзину
В учебном пособии рассматриваются стандартные процедуры, методы и приемы языка высокого уровня Python, необходимые для решения задач защиты информации. Дается представление об основных операторах и конструкциях языка. Большое количество наглядных примеров позволит освоить основные принципы составления программ на языке Python. Даются рекомендации по выбору обучающей литературы. Учебное пособие по дисциплине «Программирование на языках высокого уровня в задачах защиты информации» предназначено для студентов 1-2 курсов, обучающихся по направлению специалитета 10.05.03 «Информационная безопасность автоматизированных систем».
Шелудько, В. М. Основы программирования на языке высокого уровня Python : учебное пособие / В. М. Шелудько ; Южный федеральный университет. - Ростов-на-Дону ; Таганрог : Издательство Южного федерального университета, 2017. - 146 с. - ISBN 978-5-9275-2649-9. - Текст : электронный. - URL: https://znanium.com/catalog/product/1021662 (дата обращения: 28.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ  
РОССИЙСКОЙ ФЕДЕРАЦИИ 
Федеральное государственное автономное образовательное  
учреждение высшего образования 
«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ» 
 
Инженерно-технологическая академия 
 
 
 
 
 
В. М. ШЕЛУДЬКО 
 
 
ОСНОВЫ ПРОГРАММИРОВАНИЯ  
НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ PYTHON 
 
 
Учебное пособие 
 
 
 
 
 
 
 
 
 
 
 
 
 
Ростов-на-Дону – Таганрог 
Издательство Южного федерального университета 
2017 
 

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

УДК 004.43(075)

ББК 32.973Я73

ISBN 978-5-9275-2649-9

© Южный федеральный университет, 2017
© Шелудько В. М., 2017
© Оформление. Макет. Издательство

Южного федерального университета, 2017

СОДЕРЖАНИЕ 
 
Предисловие …………………………………………………........................5 
Введение ……………………………………………………………………..8 
1. Рекомендации по выбору и изучению обучающей литературы …...….9 
1.1. Рекомендации по выбору обучающей литературы …………………….9 
1.2. Рекомендации по изучению литературы, предназначенной  
для обучения языкам программирования ………………….................10 
1.3. Основные принципы изучения языков программирования………….14 
1.4. Рекомендуемые источники информации для более глубокого  
изучения языка Python ……….………………………...........................14 
2. Общие сведения о языке программирования Python …………………...16 
3. Установка интерпретатора языка Python………………………………...20 
3.1. Установка интерпретатора Python……………………….......................20 
3.2. Использование интерактивной оболочки интерпретатора Python…...23 
3.3. Использование встроенного редактора IDLE ………………..............25 
3.4. Запуск программ с помощью разных версий интерпретатора  
Python 
…………………………………………………………………26 
4. Синтаксис языка Python …………………………………..........................28 
4.1. Отступы ………………………………………………………………….29 
4.2. Максимальная длина строки …………………………...........................29 
4.3. Пустые строки …………………………………………..........................30 
4.4. Оформление импорта модулей ………………………………………...30 
4.5. Пробелы в выражениях и инструкциях ……………………………….31 
4.6. Комментарии …………………………………………………................33 
4.7. Строки документирования ……………………………..........................34 
4.8. Имена …………………………………………………………................36 
4.9. Именование идентификаторов языка программирования высокого 
уровня Python …………………………………………………………41 
5. Основные понятия и определения ……………………………………….43 
6. Логическая структура программ на языках программирования  
высокого уровня 
……………………………………………………….46 
7. Структура программы на языке Python ………………………..............50 
8. Задание начальных значений в Python …………………………………..53  
8.1. Задание начальных значений с помощью оператора присваивания 53 
8.2. Задание начальных значений с помощью функций ввода/вывода .....53 

8.3. Задание начальных значений с помощью функций  
библиотеки random …………………………………………………....55 
9. Программирование логики программы в Python ……………………….57 
9.1. Оператор присваивания в языке высокого уровня Python …………...57 
9.2. Оператор ветвления if/else в языке высокого уровня Python ………...58 
9.3. Операторы цикла в языке высокого уровня Python …………………..65 
10. Функции для вывода данных в Python ……………………...………….79 
11. Типы данных в Python 3 …………………………………………………83 
Задания для закрепления темы «Операторы» ………………………….….89 
12. Операции в Pythonе……….…………………………………………….106 
12.1. Математические операции…………………………………………...106 
12.2. Двоичные операции …………………………………………………..107 
12.3. Операции для работы с последовательностями………….................108 
12.4. Примеры срезов……………………………………………………….108 
12.5. Операции сравнения (логические операторы)………………………109 
13. Строки…………………………………………………............................110 
13.1. Операции со строками………………………………………………...110 
13.2. Специальные символы (строковые литералы)………………………111 
13.3. Спецификаторы формата, форматирование строк………………….112 
13.4. Функции для работы со строками……………………………………115 
13.5. Методы для работы со строками……………………………………..115 
13.6. Использование строк для решения задач защиты информации.  
Криптографический алгоритм Юлия Цезаря …………………….118 
Задания для закрепления темы «Строки»…………………………………121 
14. Списки в Python…………………………………………………………123 
15. Словари в Python………………………………………………………..128 
15.1. Стандартные операторы и функции для работы со словарями……128 
15.2. Работа с элементами словаря …………….………………………….130 
15.3. Стандартные средства сортировки элементов словаря ……………131 
15.4. Методы объекта dict ………………………………………………..131 
15.5. Генераторы словарей ………………………………………………...133 
15.6. Использование словарей для решения задач криптоанализа.  
Частотный анализ сообщений 
………………………………….134 
Задания для закрепления темы «Словари» ……………………………….136 
Заключение …………………………………………………………………143 
Список литературы ………..……………………………………………….144 

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

Предисловие 

6 

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

Изучение данного учебного пособия совместно с другими рекомен
дованными информационными источниками обеспечивает обучающегося
возможностью приобрести следующие элементы компетенций:   

Знания: технологии разработки алгоритмов и программ, методов от
ладки и решения задач на ЭВМ в различных режимах, основы объектноориентированного подхода к программированию: 
– основные алгоритмические структуры и их применение для построения алгоритмов задач по их математическим моделям; 
– принципы процедурного программирования; 
– принципы объектно-ориентированного программирования; 
– язык программирования Phyton; 
– основные статические и динамические типы данных. 
Умения: ставить задачу и разрабатывать алгоритм ее решения, ис
пользовать прикладные системы программирования, работать с современными 
системами 
программирования, 
включая 
объектно
ориентированные: 

– выполнять грамотную постановку задач, возникающих в практиче
ской деятельности, для их решения с помощью компьютера; 

– выполнять формализованное описание поставленных задач; 
– составлять программы на языке Python; 

Предисловие 

7 

– выполнять отладку и тестирование программ, написанных на языке

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) полнота изложения материала (количество страниц); 
2) авторитетность источника (авторы с мировым именем); 
3) простота и доступность изложения материала. 
Полнота изложения материала 
Источники литературы, удовлетворяющие этому критерию, как правило, характеризуются: 
- сложным для новичков языком изложения материала; 
- большим количеством энциклопедических сведений. 
Основная цель подобных источников – расширение и усовершенствование уже имеющихся знаний. Предполагается, что читатель уже 
знаком с предметной областью. Обычно такая литература предназначена 
для практикующих программистов. Невозможно глубоко и качественно 
изучить предмет, не изучая такие источники литературы.  
Однако по мнению автора, на начальном этапе приобретения базовых знаний не стоит выбирать литературу, руководствуясь этим критерием. Сложность изложения материала и его перенасыщенность энциклопедическими сведениями зачастую приводят к потере интереса к предмету, 
а не более качественному и глубокому изучению материала. 
Авторитетность источника 
Бесспорно, никто не может лучше владеть предметом, чем его разработчик, если таковой имеется. Поэтому самыми важными источниками 
информации являются официальные сайты, на которых можно найти 
всю необходимую документацию по интересующему вопросу, последние 
новости, а также рекомендуемые ссылки на другие ресурсы в Интернете.    
Соответственно источники информации, авторами которых являются 
сами разработчики, удовлетворяют критерию «полнота изложения материала». Имеют все те же достоинства и недостатки при изучении базовых 
основ предмета, за редкими исключениями, а также зачастую написаны на 
родном для разработчиков языке.  

1. Рекомендации по выбору и изучению обучающей литературы 

10 

Так официальный сайт языка Python является англоязычным источником руководящей информации, что создает дополнительные трудности 
на начальном этапе изучения языка, если английский язык – иностранный.    
Простота и доступность изложения материала 
Источники литературы, удовлетворяющие этому критерию, называются учебниками, учебными и учебно-методическими пособиями. Как 
правило, характеризуются: 
- системностью и последовательностью изложения материала;    
- простым языком изложения основ сложного материала;  
- наличием достаточного количества обучающих примеров для освоения основ предмета; 
- ограничением или отсутствием энциклопедических сведений. 
Основная цель подобных источников – пробуждение интереса к 
предмету за счет изложения сложного материала простым и доступным 
языком с наглядными примерами. 
По мнению автора, на начальном этапе изучения базовых основ 
предмета основными критериями при выборе обучающей литературы являются простота и доступность изложения материала.     
Таким образом, обзор существующих источников обучающей литературы при изучении основ какой-либо области знаний является одним из 
самых важных этапов в освоении предмета, поскольку скорость и качество освоения предмета напрямую зависят от простоты и доступности 
изложения материала.  
Для более глубокого понимания интересующего вопроса, по мнению 
автора, необходимо изучать его, используя как минимум два альтернативных источника литературы.         
 
1.2. Рекомендации по изучению литературы, предназначенной 
для обучения языкам программирования. 
 
Наверняка каждый знает, что читать обучающую литературу, в том 
числе техническую, гораздо сложнее, медленнее и скучнее, чем художественные произведения. Это связано с необходимостью запоминать 
большие объемы информации, следить за логикой текста, не имеющего 
увлекательного сюжета. При этом соотношение количества прочитанных 

Доступ онлайн
175 ₽
В корзину