Язык программирования Python: практикум
Покупка
Основная коллекция
Издательство:
НИЦ ИНФРА-М
Автор:
Жуков Роман Александрович
Год издания: 2023
Кол-во страниц: 216
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-16-016971-2
ISBN-онлайн: 978-5-16-107207-3
Артикул: 681551.05.01
К покупке доступен более свежий выпуск
Перейти
Учебное пособие посвящено теоретическому и практическому изучению современного широко используемого языка программирования Python. Состоит из пяти глав, в которых последовательно рассмотрены такие вопросы, как история языков программирования, особенности и основные элементы языка программирования Python (типы данных; инструкции, функции, модули; объектно-ориентированное программирование; разработка графических интерфейсов). Материал изложен компактно с сохранением строгости, алгоритмичности и детальной проработанности основных понятий в соответствии с рабочей программой дисциплины «Компьютерный практикум».
Соответствует требованиям федеральных государственных образовательных стандартов высшего образования последнего поколения.
Для студентов бакалавриата направления подготовки «Бизнес-информатика», а также всех, кто интересуется программированием.
Только для владельцев печатной версии книги: чтобы получить доступ к дополнительным материалам, пожалуйста, введите последнее слово на странице №76 Вашего печатного экземпляра.
Ввести кодовое слово
ошибка
-
Рисунки.pdf
Скопировать запись
Язык программирования Python: практикум, 2024, 681551.08.01
Язык программирования Python: практикум, 2022, 681551.04.01
Язык программирования Python: практикум, 2021, 681551.03.01
Язык программирования Python: практикум, 2020, 681551.02.01
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
ЯЗЫК ПРОГРАММИРОВАНИЯ 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 (автоматический вычислитель), который состоял из электромеханических реле и переключателей. Первоначально использовался для военных нужд.
К покупке доступен более свежий выпуск
Перейти