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

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

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

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

Жуков, Р. А. Язык программирования Python: практикум : учебное пособие / Р.А. Жуков. — Москва : ИНФРА-М, 2023. — 216 с. + Доп. материалы [Электронный ресурс]. — (Высшее образование: Бакалавриат). — DOI 10.12737/textbook_5cb5ca35aaa7f5.89424805. - ISBN 978-5-16-016971-2. - Текст : электронный. - URL: https://znanium.ru/catalog/product/1915716 (дата обращения: 29.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
ЯЗЫК 

ПРОГРАММИРОВАНИЯ 

PYTHON

Р.А. ЖУКОВ

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

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

ПРАКТИКУМ

Рекомендовано Межрегиональным учебно-методическим советом профессионального 

образования в качестве учебного пособия для студентов высших учебных заведений, 

обучающихся по направлению подготовки 38.03.05 «Бизнес-информатика» 

(квалификация (степень) «бакалавр») (протокол № 6 от 25.03.2019)

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

Жуков Р.А.

Ж86  
Язык программирования Python: практикум : учебное пособие / 

Р.А. Жуков. — Москва : ИНФРА-М, 2023. — 216 с. + Доп. материалы 
[Электронный ресурс]. — (Высшее образование: Бакалавриат). — DOI 
10.12737/textbook_5cb5ca35aaa7f5.89424805.

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

Соответствует требованиям федеральных государственных образова-

тельных стандартов высшего образования последнего поколения.

Для студентов бакалавриата направления подготовки «Бизнес-инфор-

матика», а также всех, кто интересуется программированием.

УДК 004.43(075.8)

ББК 32.973.26-018.1я73

Р е ц е н з е н т ы:

Двоенко С.Д., доктор физико-математических наук, профессор 

Тульского государственного университета;

Привалов А.Н., доктор технических наук, профессор Тульского го-

сударственного педагогического университета имени Л.Н. Толстого

Рекомендовано к изданию Ученым советом Тульского филиала 

Финансового университета при Правительстве Российской Федерации

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

Материалы, отмеченные знаком 
, доступны 

в электронно-библиотечной системе Znanium

Предисловие

В современном обществе практически ни в одной сфере дея-
тельности человека невозможно обойтись без использования ин-
формационных технологий (ИТ), которые позволяют упростить 
производственно-хозяйственную деятельность организаций в части 
совершенствования информационного обмена, обработки структу-
рированных и неструктурированных данных, решения сложных 
задач экономики, математики, управления и т.п. На рынке труда 
все больше востребованы ИТ-специалисты, которым предлагают 
достойный уровень заработной платы (практически самый вы-
сокий по сравнению с другими специальностями). При этом рабо-
тодатели предъявляют серьезные требования к своим работникам, 
одним из которых является способность к самостоятельной раз-
работке ИТ-приложений, связанных со специальными знаниями 
в области алгоритмизации и программирования. Именно поэтому 
актуальным остается вопрос подготовки квалифицированных спе-
циалистов, которые будут иметь теоретические и практические 
знания в области программирования.
Язык 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 (автоматический 
вычислитель), который состоял из электромеханических реле и переключателей. 
Первоначально использовался для военных нужд.

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