Основы программирования на языке Python
Покупка
Тематика:
Программирование и алгоритмизация
Издательство:
ФЛИНТА
Год издания: 2020
Кол-во страниц: 135
Дополнительно
Вид издания:
Учебно-методическая литература
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-9765-4430-7
Артикул: 775053.01.99
Данное учебно-методическое пособие разработано для начального курса изучения языка программирования Python, включенного в последние годы в контрольно-измерительные материалы ЕГЭ по информатике и, соответственно, в школьный курс информатики и ИКТ. Пособие предназначено для бакалавров направления 44.03.01 Педагогическое образование профиль «Информатика и ИКТ», а также может быть использовано школьниками и студентами среднего профессионального образования.
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Зыкова Г.В., Попов А.С., Сапуглецева Т.Н. ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ PYTHON Учебно-методическое пособие Москва Издательство «ФЛИНТА» 2020 2-е издание, стереотипное
УДК 004.43 ББК 32.973.2 З 96 Научный редактор: Уткина Т.И., доктор педагогических наук, профессор кафедры математики, информатики и физики Орского гуманитарно-технологического института (филиала) ОГУ Рецензенты: Голунова А.А., кандидат педагогических наук, доцент кафедры математики, информатики и физики Орского гуманитарно-технологического института (филиала) ОГУ; Пергунов В.В., кандидат физико-математических наук, доцент кафедры прикладной информатики и математики Орского филиала АОЧУ ВО «Московский финансово-юридический университет МФЮА» Зыкова Г.В. Основы программирования на языке Python [Электронный ре сурс]: учеб.-метод. пособие / Г.В. Зыкова, А.С. Попов, Т.Н. Сапуглецева ; науч ред. Г.В. Зыковой. — 2-е изд., стер. — Москва : ФЛИНТА, 2020. — 135 с. ISBN 978-5-9765-4430-7 Данное учебно-методическое пособие разработано для начального курса изучения языка программирования Python, включенного в последние годы в контрольноизмерительные материалы ЕГЭ по информатике и, соответственно, в школьный курс информатики и ИКТ. Пособие предназначено для бакалавров направления 44.03.01 Педагогическое образование профиль «Информатика и ИКТ», а также может быть использовано школьниками и студентами среднего профессионального образования. ISBN 978-5-9765-4430-7 © Зыкова Г.В., 2020 © Издательство «ФЛИНТА», 2020 З 96 УДК 004.43 ББК 32.973.2
Содержание Введение …………………………………………………………… 6 Предисловие ………………………………………………………. 9 1 Типы данных. Преобразование типов данных ……………... 14 1.1 Основы работы с типами данных ………………………... 14 1.2 Числа ………………………………………………………. 15 1.3 Строки ……………………………………………………... 17 2 Преобразование типов данных в Python ……………………. 20 2.1 Преобразование числовых типов ………………………… 20 2.2 Преобразование строк ……………………………………. 21 Контрольные вопросы …………………………………………….. 25 Задачи для самостоятельной работы …………………………… 26 3 Ввод и вывод данных ………………………………………….. 27 Контрольные вопросы …………………………………………….. 33 Задачи для самостоятельной работы …………………………… 33 4 Арифметические операции …………………………………… 35 4.1 Сложение ………………………………………………….. 36 4.2 Унарные арифметические операции ……………………. 39 4.3 Работа с комплексными числами ………………………... 40 4.4 Битовые операции ………………………………………… 41 4.5 Базовые операции над строками …………………………. 42 4.6 Приоритет операций ……………………………………… 43 Контрольные вопросы …………………………………………….. 44 Задачи для самостоятельной работы …………………………… 45 5 Логические операции ………………………………………….. 46 5.1 Операторы сравнения …………………………………….. 46 5.2 Логические операторы ……………………………………. 48 5.3 Таблицы истинности ……………………………………… 51 Контрольные вопросы …………………………………………….. 52 Задачи для самостоятельной работы …………………………… 53 6 Условные операторы …………………………………………... 54 6.1 Простой условный оператор ……………………………... 54 6.2 Составной условный оператор …………………………... 54 6.3 Условная конструкция if …………………………………. 55 6.4 Конструкция if...else ……………………………………… 56 6.5 Команда elif ……………………………………………….. 57 6.6 Вложенные условные инструкции ………………………. 58
6.7 Тернарная условная операция …………………………… 59 Контрольные вопросы …………………………………………….. 60 Задачи для самостоятельной работы …………………………… 60 7 Циклы ……………………………………………………………. 62 7.1 Понятие цикла …………………………………………….. 62 7.2 Цикл «while» ………………………………………………. 63 7.3 Инструкции break и continue в цикле while ……………... 65 7.4 Вложенные циклы while ………………………………….. 66 7.5 Цикл «for» …………………………………………………. 68 7.6 Оператор следующего прохода continue в цикле for …… 70 7.7 Оператор прерывания цикла break в цикле for …………. 71 7.8 Инструкция проверки прерывания else в цикле for …….. 72 7.9 Вложенные циклы for …………………………………….. 73 Контрольные вопросы …………………………………………….. 75 Задачи для самостоятельной работы …………………………… 75 8 Списки …………………………………………………………… 77 8.1 Списки и их особенности ………………………………… 80 8.2 Операции над последовательностями …………………… 81 8.3 Вложенные списки ………………………………………... 83 8.4 Генераторы списков ………………………………………. 84 8.5 Срезы ………………………………………………………. 87 8.6 Стек и очереди …………………………………………….. 88 8.7 Методы split и join ………………………………………… 88 Контрольные вопросы …………………………………………….. 90 Задачи для самостоятельной работы …………………………… 90 9 Кортежи ………………………………………………………….. 92 9.1 Операции, поддерживаемые кортежем …………………. 94 9.2 Удаление кортежей ……………………………………….. 97 9.3 Список кортежей ………………………………………….. 97 9.4 Сортировка ………………………………………………… 97 9.5 Преобразование кортежа в список и обратно …………... 98 9.6 Преобразование в словарь ……………………………….. 99 9.7 Преобразование кортежей в одну строку ……………….. 99 Контрольные вопросы …………………………………………….. 100 Задачи для самостоятельной работы …………………………… 100 10 Словари ………………………………………………………… 102 10.1 Создание …………………………………………………. 104 10.2 Добавление элемента ……………………………………. 105
10.3 Объединение словарей ………………………………….. 105 10.4 Удаление элемента ……………………………………… 106 10.5 Получение размера ……………………………………… 106 10.6 Перебор словаря …………………………………………. 107 10.7 Поиск ……………………………………………………... 108 10.8 Сортировка ……………………………………………….. 108 10.9 Сравнение ………………………………………………... 109 10.10 Копирование ……………………………………………. 110 10.11 Очистка …………………………………………………. 110 10.12 Генератор словарей …………………………………….. 110 10.13 Конвертация в строку ………………………………….. 111 10.14 Вложенные словари ……………………………………. 112 Контрольные вопросы …………………………………………….. 112 Задачи для самостоятельной работы …………………………… 113 11 Множества ……………………………………………………... 115 11.1 Создание множества …………………………………….. 115 11.2 Изменение множества …………………………………… 116 11.3 Удаление элементов множества ………………………... 117 11.4 Основные операции с множествами …………………… 118 11.5 Множество в логическом контексте …………………… 119 11.6 Метод copy ……………………………………………….. 120 11.7 Frozenset ………………………………………………….. 120 Контрольные вопросы …………………………………………….. 121 Задачи для самостоятельной работы …………………………… 121 12 Функции ………………………………………………………... 123 12.1 Создание функций ………………………………………. 123 12.2 Работа с функциями …………………………………….. 124 12.3 lambda-функции …………………………………………. 125 12.4 Аргументы функции в Python ………………………….. 127 12.5 Область видимости и глобальные переменные ……….. 129 12.6 Математические функции в Python ……………………. 130 Контрольные вопросы …………………………………………….. 132 Задачи для самостоятельной работы …………………………… 132 Библиографический список …………………………………….. 134
Введение Язык программирования Python был задуман как потомок языка программирования ABC. В настоящее время Python – это активно развивающийся высокоуровневый многоцелевой язык программирования. Он поддерживает несколько, наиболее популярных сейчас парадигм программирования, таких как структурное, объектноориентированное, функциональное программирование и другие. Популярности языка способствует то, что он соответствует стандартам Американского национального института стандартов и Международной организации по стандартизации. Python – это многоцелевой язык. Его можно одинаково хорошо использовать для разработки любых программ и их тестирования. Так, например, компания Google широко использует язык Python для своей поисковой системы. Большая часть популярного видеохостинга YouTube была написана на языке Python. Также язык Python применяется в анимационной графике, научных вычислениях и тестировании аппаратного обеспечения. Таким образом, знание Python, одного из популярнейших языков программирования, открывает путь в ведущие IT-компании мира: Google, Яндекс, Mail.Ru, YouTube, Instagram. Python пригоден для решения разнообразных задач и предлагает те же возможности, что и другие языки программирования. Любой язык, неважно – для программирования или общения, состоит, как минимум, из двух частей: словаря и синтаксиса. Язык Python организован аналогично, предоставляя синтаксис для формирования выражений, образующих исполняемые программы, и словарь – набор функциональности в виде стандартной библиотеки и подключаемых модулей. Но благодаря своей лаконичности он позволяет быстрее овладеть синтаксисом языка, чем другие языки программирования. Python является языком общего назначения, поэтому может применяться практически в любой области разработки программного
обеспечения (standalone, клиент-сервер, Web-приложения) и в любой предметной области. Кроме того, Python легко интегрируется с уже существующими компонентами, что позволяет внедрять Python в уже написанные приложения. Другая составляющая успеха Python – это его модули расширения, как стандартные, так и специфические. Стандартные модули расширения Python – это отлично спроектированная и неоднократно проверенная функциональность для решения задач, возникающих в каждом проекте по разработке программного обеспечения, обработка строк и текстов, взаимодействие с операционной системой, поддержка Web-приложений. Эти модули также написаны на языке Python, поэтому обладают его важнейшим свойством – кроссплатформенностью, позволяющей безболезненно и быстро переносить проекты с одной операционной системы на другую. Возможности языка программирования Python: - Работа с xml/html файлами. - Работа с http запросами. - GUI (графический интерфейс). - Создание веб-сценариев. - Работа с FTP. - Работа с изображениями, аудио и видео файлами. - Робототехника. - Программирование математических и научных вычислений и многое другое. Синтаксис языка Python проще Pascal. Большинство технических нюансов при программировании в Python решается с помощью встроенных функций. В Python проще и быстрее написать программу начинающим программистам, если она состоит из одной строки, а не из нескольких. В результате алгоритм решает ту же самую задачу, а времени на написание и отладку тратится меньше. Следовательно, можно решить больше заданий и получить больший опыт в написании программ.
Последние несколько лет контрольно-измерительные материалы ЕГЭ включают возможность выполнения заданий, в том числе и с использованием языка программирования Python, что актуализирует его изучение как школьниками, так и будущими учителями информатики и ИКТ. Данное учебно-методическое пособие разработано с целью организации начального курса изучения языка программирования Python.
Предисловие Python – высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций. Python поддерживает структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное программирование. Основные архитектурные черты – динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений, высокоуровневые структуры данных. Поддерживается разбиение программ на модули, которые, в свою очередь, могут объединяться в пакеты. Эталонной реализацией Python является интерпретатор CPython, поддерживающий большинство активно используемых платформ. Он распространяется под свободной лицензией Python Software Foundation License, позволяющей применять его без ограничений в любых приложениях, включая проприетарные. Есть реализация интерпретатора для JVM с возможностью компиляции, CLR, LLVM, другие независимые реализации. Проект PyPy использует JITкомпиляцию, которая значительно увеличивает скорость выполнения Python-программ. Разработка языка Python была начата в конце 1980-х годов сотрудником голландского института CWI Гвидо ван Россумом. Для распределённой ОС Amoeba требовался расширяемый скриптовый язык, и Гвидо начал писать Python на досуге, позаимствовав некоторые наработки для языка ABC (Гвидо участвовал в разработке этого языка, ориентированного на обучение программированию). В феврале 1991 года Гвидо опубликовал исходный текст в группе новостей
alt.sources. С самого начала Python проектировался как объектноориентированный язык. Название языка произошло вовсе не от вида пресмыкающихся. Автор назвал язык в честь популярного британского комедийного телешоу 1970-х «Летающий цирк Монти Пайтона». Впрочем, всё равно название языка чаще связывают именно со змеёй, нежели с передачей: пиктограммы файлов в KDE или в Microsoft Windows и даже эмблема на сайте python.org (до выхода версии 2.5) изображают змеиные головы. Важная цель разработчиков Python – создавать его забавным для использования. Это отражено в его названии, которое пришло из Монти Пайтона. Также это отражено в иногда игривом подходе к обучающим программам и справочным материалам, таким как примеры использования. Наличие дружелюбного, отзывчивого сообщества пользователей считается наряду с дизайнерской интуицией Гвидо одним из факторов успеха Python. Развитие языка происходит согласно чётко регламентированному процессу создания, обсуждения, отбора и реализации документов PEP (англ. Python Enhancement Proposal) – предложений по развитию Python. 3 декабря 2008 года, после длительного тестирования, вышла первая версия Python 3000 (или Python 3.0, также используется сокращение Py3k). В Python 3000 устранены многие недостатки архитектуры с максимально возможным (но не полным) сохранением совместимости со старыми версиями Python. На сегодня поддерживаются обе ветви развития (Python 3.x и 2.x). Python портирован и работает почти на всех известных платформах – от КПК до мейнфреймов. Существуют порты под Microsoft Windows, практически все варианты UNIX (включая FreeBSD и Linux), Plan 9, Mac OS и Mac OS X, iPhone OS 2.0 и выше, Palm OS, OS/2, Amiga, HaikuOS, AS/400 и даже OS/390, Windows Mobile, Symbian и Android.