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

Язык программирования Python: практикум

Покупка
Основная коллекция
Артикул: 681551.02.01
К покупке доступен более свежий выпуск Перейти
Учебное пособие посвящено теоретическому и практическому изучению современного широко используемого языка программирования Python. Состоит из пяти глав, в которых последовательно рассмотрены такие вопросы, как история языков программирования, особенности и основные элементы языка программирования Python (типы данных; инструкции, функции, модули; объектно-ориентированное программирование; разработка графических интерфейсов). Материал изложен компактно с сохранением строгости, алгоритмичности и детальной проработанности основных понятий в соответствии с рабочей программой дисциплины «Компьютерный практикум». Соответствует требованиям федеральных государственных образовательных стандартов высшего образования последнего поколения. Для студентов бакалавриата направления подготовки «Бизнес-информатика», а также всех, кто интересуется программированием.
51
104
155
180

Только для владельцев печатной версии книги: чтобы получить доступ к дополнительным материалам, пожалуйста, введите последнее слово на странице №76 Вашего печатного экземпляра.

Жуков, Р. А. Язык программирования Python: практикум : учебное пособие / Р.А. Жуков. — Москва : ИНФРА-М, 2020. — 216 с. + Доп. материалы [Электронный ресурс]. — (Высшее образование: Бакалавриат). — www.dx.doi.org/10.12737/textbook_5cb5ca35aaa7f5.89424805. - ISBN 978-5-16-014701-7. - Текст : электронный. - URL: https://znanium.ru/catalog/product/1045700 (дата обращения: 28.03.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
ЯЗЫК 
ПРОГРАММИРОВАНИЯ 
PYTHON

Р.А. ЖУКОВ

Москва
ИНФРА-М
2020

УЧЕБНОЕ ПОСОБИЕ

ПРАКТИКУМ

Рекомендовано Межрегиональным учебно-методическим советом профессионального 
образования в качестве учебного пособия для студентов высших учебных заведений, 
обучающихся по направлению подготовки 38.03.05 «Бизнес-информатика» 
(квалификация (степень) «бакалавр») (протокол № 6 от 25.03.2019)

УДК 004.43(075.8)
ББК 32.973.26-018.1я73
 
Ж86

Жуков Р.А.
Ж86  
Язык программирования Python: практикум : учебное пособие / 
Р.А. Жуков. — Москва : ИНФРА-М, 2020. — 216 с. + Доп. материалы 
[Электронный ресурс]. — (Высшее образование: Бакалавриат). — www.
dx.doi.org/10.12737/textbook_5cb5ca35aaa7f5.89424805.

ISBN 978-5-16-014701-7 (print)
ISBN 978-5-16-107207-3 (online)
Учебное пособие посвящено теоретическому и практическому изучению современного широко используемого языка программирования 
Python. Состоит из пяти глав, в которых последовательно рассмотрены 
такие вопросы, как история языков программирования, особенности и основные элементы языка программирования Python (типы данных; инструкции, функции, модули; объектно-ориентированное программирование; разработка графических интерфейсов). Материал изложен компактно 
с сохранением строгости, алгоритмичности и детальной проработанности 
основных понятий в соответствии с рабочей программой дисциплины 
«Компьютерный практикум».
Соответствует требованиям федеральных государственных образовательных стандартов высшего образования последнего поколения.
Для студентов бакалавриата направления подготовки «Бизнес-информатика», а также всех, кто интересуется программированием.

УДК 004.43(075.8)
ББК 32.973.26-018.1я73

Р е ц е н з е н т ы:
Двоенко С.Д., доктор физико-математических наук, профессор 
Тульского государственного университета;
Привалов А.Н., доктор технических наук, профессор Тульского государственного педагогического университета имени Л.Н. Толстого

Рекомендовано к изданию Ученым советом Тульского филиала 
Финансового университета при Правительстве Российской Федерации

ISBN 978-5-16-014701-7 (print)
ISBN 978-5-16-107207-3 (online)
© Жуков Р.А., 2019

Материалы, отмеченные знаком 
, доступны 
в электронно-библиотечной системе Znanium.com

Предисловие

В современном обществе практически ни в одной сфере деятельности человека невозможно обойтись без использования информационных технологий (ИТ), которые позволяют упростить 
производственно-хозяйственную деятельность организаций в части 
совершенствования информационного обмена, обработки структурированных и неструктурированных данных, решения сложных 
задач экономики, математики, управления и т.п. На рынке труда 
все больше востребованы ИТ-специалисты, которым предлагают 
достойный уровень заработной платы (практически самый высокий по сравнению с другими специальностями). При этом работодатели предъявляют серьезные требования к своим работникам, 
одним из которых является способность к самостоятельной разработке ИТ-приложений, связанных со специальными знаниями 
в области алгоритмизации и программирования. Именно поэтому 
актуальным остается вопрос подготовки квалифицированных специалистов, которые будут иметь теоретические и практические 
знания в области программирования.
Язык Python — один из современных объектно-ориентированных языков программирования, который используют такие 
ИТ-гиганты, как, например, Google и Yandex. К тому же, простота 
и универсальность Python делают его одним из лучших языков 
программирования. Поэтому неслучайно его изучение включено 
в основную образовательную программу бакалавриата по направлению 38.03.05 «Бизнес-информатика», профиля «ИТ-менеджмент 
в бизнесе» в рамках учебной дисциплины «Компьютерный практикум». В результате освоения учебной дисциплины студенты 
бакалавриата будут:
знать
 
• типы и структуры данных, используемые в языке Python, технологии обработки, анализа и интерпретации данных различной 
природы;
 
• инструкции и конструкции языка программирования Python;
 
• основные понятия объектно-ориентированного и событийного 
программирования;
 
• возможности языков программирования для  решения математических и научных задач;
 
• технологии создания программных решений на современных 
языках программирования;

уметь
 
• выбирать структуры данных и алгоритмы, позволяющие решить 
поставленную задачу оптимальным способом, применять алгоритмы для поиска и выявления зависимостей в данных;
 
• создавать собственные функции и классы;
 
• создавать приложения с графическим интерфейсом;
 
• использовать библиотеки для решения поставленной задачи;
 
• формализовывать постановку прикладных задач исследования 
с целью программирования решения;
владеть
 
• навыками решения практических задач с использованием высокоуровневых структур данных;
 
• навыками использования интегрированных сред разработки для 
создания программ;
 
• навыками работы с математическими библиотеками языка 
Python;
 
• практическими навыками управления данными, включая различные преобразования данных.
Учебное пособие соответствует рабочей программе дисциплины. 
Пособие содержит в себе теоретический и практический материал, 
упражнения и задания для самостоятельной работы.
Первая глава посвящена истории развития языков программирования и основным подходам к алгоритмизации. Рассмотрены 
особенности и преимущества языка Python, изучен вопрос его 
установки и представлены базовые инструменты работы в режиме 
интерпретатора и среде IDLE.
Следующие главы включают изучение основных элементов 
языка программирования Python: типов данных (глава 2); инструкций, функций, модулей (глава 3); объектно-ориентированного программирования (глава 4) и разработки графических интерфейсов (глава 5).
Учебное пособие может быть интересно широкому кругу читателей.

Глава 1.

ЯЗЫКИ ПРОГРАММИРОВАНИЯ

1.1. ПОНЯТИЕ ЯЗЫКА ПРОГРАММИРОВАНИЯ

Язык программирования (ЯП) — это формальная знаковая 
система, предназначенная для описания команд (инструкций) 
и данных, которые могут быть обработаны электронно-вычислительной машиной (ЭВМ).
Языки программирования являются формальными, или искусственными языками. Они обеспечивают взаимодействие пользователя и ЭВМ.
Формальный язык определен формальной грамматикой. 
По А.Н. Хомскому1, формальные языки классифицируются в соответствии с типами грамматик, которыми они задаются. Языки 
программирования определяются контекстно-свободными грамматиками при условии, что символами алфавита являются токены 
(объекты, создающиеся из лексем2 в процессе лексического анализа), образованные по правилам регулярной грамматики.
Естественные языки (ЕЯ) определяются грамматиками общего вида и в этом смысле отличаются от ЯП, хотя языки программирования высокого уровня внешне похожи на ЕЯ, например 
английский язык [3]. Как и все языки, ЯП имеют собственный алфавит, синтаксис и семантику.
Алфавит — это конечный набор символов для конкретного 
языка программирования.
Синтаксис определяет правила образования токенов и правила 
формирования последовательностей токенов.
Семантика — это формальное содержание (смысл) последовательности токенов.
Если в формальных языках построенная фраза грамматически 
правильна, то это означает, что семантически она тоже правильна.

1 
Авраам Ноам Хомский (род. 1928) — американский лингвист, автор классификации формальных языков (иерархия Хомского). Предложил четыре 
типа формальных грамматик: неограниченные, контекстно-зависимые, контекстно-свободные и регулярные (самые простые).
2 
Лексема — минимальная смысловая единица для языка программирования 
(например: константа, ключевые слова и т.п.). В прикладном программировании токены и лексемы могут не различаться.

1.2. РАЗВИТИЕ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

Развитие языков программирования неразрывно связано с развитием вычислительной техники и определенными задачами, которые было необходимо решать.
Основоположником программирования считают английского 
математика Чарльза Бэббиджа (1791–1871), который изобрел 
первую в мире аналитическую вычислительную машину (прототип 
современных ЭВМ), состоящую из валиков и шестерней, вращающихся с помощью рычага (рис. 1.1).

Рис. 1.1. Чарльз Бэббидж и его изобретение

Принципы работы машины были основаны на вычислении 
таблиц разностным методом. При этом использовалась только операция сложения.
Следующий шаг в области программирования сделал Жозеф 
Мари Жаккар (1752–1854), который стал использовать перфокарты для алгоритмизации действий ткацких станков (рис. 1.2).

Рис. 1.2. Жозеф Мари Жаккар и ткацкий станок

Первым в истории программистом мировое сообщество считает 
друга и соратника Бэббиджа Аду Лавлейс (1815–1852). Она разработала описание большой разностной вычислительной машины1, 
составила для нее первую программу, а также ввела такие термины, 
как «рабочая ячейка» и «цикл» (рис. 1.3). Первая программа включала алгоритм вычисления чисел Бернулли, и ее текст был опубликован в комментариях к запискам о вычислительной машине итальянского инженера Луиджи Манабреа.

Рис. 1.3. Ада Лавлейс и большая разностная вычислительная машина

Для того чтобы осуществить программирование таких машин, 
использовались особые комбинации цифр, которые «понимала» 
только данная машина. Эти цифровые комбинации назвали машинными кодами [2]. Процесс программирования был очень сложным 
занятием, такое трудоемкое дело могли осилить только специалисты, количество которых было невелико.

1 
Технологии того времени не позволили создать машину в таком виде, 
в котором она задумывалась. Полностью собранную большую разностную 
машину удалось сконструировать только в 1906 г. компании Monroe 
Calculating Machine Co.

В конце 1940-х гг., одновременно с созданием первых ЭВМ, 
появились языки программирования первого поколения (языки 
машинно-ориентированной парадигмы программирования1). Они 
представляли собой машинные инструкции-коды в двоичной 
системе счисления. Программисту необходимо было знать уникальные для каждой машины инструкции (набор команд), чтобы 
заставить ЭВМ решить требуемую задачу.
В 1949 г. появляется машинно-ориентированный язык Ассемблера (от англ. assembler — сборщик (рис. 1.4)), команды которого 
строго соответствовали командам машины.

Рис. 1.4. Фрагмент кода на машинном языке (слева) и языке Ассемблер 
(справа)

Программировать стало легче за счет введения символьной 
формы записи команд — мнемокодов. Язык Ассемблера активно 
применялся в эпоху третьего поколения ЭВМ.

Справка. Выделяют пять поколений ЭВМ, которые связывают с элементной базой (составом электронно-вычислительных машин). Первое 
поколение ЭВМ — на базе электровакуумных ламп (1940-е –1950-е гг.); 
второе — транзисторная элементная база (1950-е — 1960-е гг.); третье — 

1 
Термин «парадигма программирования» был введен позже, в 1978 г., Робертом Флойдом. Парадигма программирования — это подход к программированию, включающий совокупность идей и понятий, определяющих 
стиль написания компьютерных программ. Машинно-ориентированную 
парадигму программирования иногда называют допарадигмальной. Некоторые современные ЯП поддерживают реализацию нескольких парадигм.

интегральные схемы (1960-е — 1970-е гг.); четвертое поколение (микроЭВМ) — микропроцессорная база (1970-е гг. — настоящее время); 
пятое поколение — принципиально новая элементная база, основанная 
на искусственном интеллекте (начало — 1981 г.).

Язык Ассемблера имеет различные вариации. Из них наиболее 
известны Ассемблер A86, Microsoft Macro Assembler (MASM), 
Borland Turbo Assembler (TASM), Watcom Assembler (WASM). 
Именно на Ассемблере A86 писались программы в бывшем СССР, 
когда не было персональных ЭВМ.
Языку Ассемблера соответствовала своя среда разработки 
(рис. 1.5).

Рис. 1.5. Среда разработки языка Ассемблер

В том же 1949 г. сотрудник Пенсильванского университета 
США Джон Моучли, участвуя в проекте создания первого компьютера общего назначения ЭНИАК и на начальном этапе проекта создания более совершенного компьютера EDVAC, разработал особую систему кодирования машинных команд Short Code, 
которые вводились непосредственно в память машины. Short 
Code — это интерпретатор-переводчик с языка программирования 
на машинный код. Интерпретатор использовал примитивный язык 
программирования высокого уровня. Программист, применяя этот 
язык, писал задачу математическими формулами, затем пользовался специальной таблицей, где каждому символу формул соответствовали двухлитерные коды. Завершающим этапом работы 
было выполнение специальной программы компьютера, которая 
переводила двухлитерные коды в двоичные машинные коды. Таким 
образом, уже в то время программисты заставили компьютер переводить информацию с языка программирования на машинный код. 
В настоящее время система Джона Моучли Short Code считается 
началом развития современных языков программирования, реализующих процедурную парадигму1.
В 1951 г. Грейс Хоппер (1906–1992) (рис. 1.6), которая была сотрудницей компании Джона Моучли, создала первый компилятор 
для компьютера МАРК-II2. Компилятором Хоппер осуществлялась 
функция объединения команд. Компилятор выделял память компьютера, преобразовывал команды высокого уровня (в то время — 
псевдокоды) в комплекс машинных команд (рис. 1.7).
С середины 1950-х гг. в области программирования начинаются 
стремительные изменения. Специалисты теряют интерес к программированию в машинных командах и переходят к разработке 
и использованию языков — посредников между программистом 
и машиной, отдавая предпочтение императивной парадигме программирования.

Справка. Императивное программирование — это парадигма программирования, которая имеет следующие особенности. Исходный код 
программы содержит команды (инструкции), которые выполняются 
последовательно. Данные, необходимые для выполнения команды, 
могут читаться из памяти, в которую они были занесены при выполнении предыдущей инструкции.

1 
Процедурная (императивная, директивная, модульная) парадигма — одна 
из вычислительных парадигм, реализуемых в ЯП.
2 
МАРК-II — усовершенствованный компьютер МАРК-I (автоматический 
вычислитель), который состоял из электромеханических реле и переключателей. Первоначально использовался для военных нужд.

К покупке доступен более свежий выпуск Перейти