Программирование на Python® : Первые шаги
Первые шаги в мире Python: руководство для юных программистов
Эта книга, предназначенная для учащихся средней и старшей школы, представляет собой введение в язык программирования Python. Она знакомит читателей с основами программирования, начиная с базовых концепций и заканчивая более сложными темами.
Основы программирования и среда IDLE
Книга начинается с объяснения основных понятий программирования: что такое программа, язык программирования и процесс программирования. Далее рассматривается среда разработки IDLE, ее установка и интерфейс. Читатели учатся писать свою первую программу на Python, выводя на экран строку "Hello, world!". Подробно объясняется работа оператора print()
, выводящего данные на экран, и рассматриваются различные эксперименты в интерактивной оболочке IDLE.
Переменные, типы данных и функции ввода
В книге объясняется понятие переменной как именованной области памяти и рассматриваются различные типы данных, такие как целые числа, числа с плавающей точкой, строки и логические значения. Рассматриваются операции над этими типами данных, включая конкатенацию строк и арифметические операции. Особое внимание уделяется функциям input()
и eval()
, которые позволяют вводить данные с клавиатуры и выполнять арифметические выражения.
Условные конструкции и циклы
Книга знакомит читателей с условными конструкциями, такими как if
, if-else
и elif
, которые позволяют создавать программы с ветвлением. Рассматриваются операторы and
и or
, используемые для комбинирования условий. Далее изучаются циклы, включая циклы for
(с заданным числом повторений) и while
(с предусловием), а также операторы break
и continue
, управляющие выполнением циклов.
Псевдослучайные числа, математика и исполнитель Черепашка
В книге рассматривается использование псевдослучайных чисел с помощью модуля random
, а также математические функции из модуля math
. Представлена игра "Угадай-ка!" как пример использования случайных чисел. Далее читатели знакомятся с модулем turtle
, позволяющим создавать графические изображения с помощью объекта Черепашка. Рассматриваются команды перемещения и рисования Черепашки, а также реализация условных и циклических конструкций для создания более сложных графических изображений.
Списки, кортежи и строки
Книга подробно рассматривает списки, кортежи и строки как основные типы данных в Python. Объясняются операции со списками, включая конкатенацию, дублирование, добавление, удаление и сортировку элементов. Рассматриваются методы split()
, len()
, count()
и sort()
. Далее изучаются кортежи как неизменяемые списки и их применение. Рассматриваются срезы списков, строк и кортежей, а также методы find()
, replace()
и count()
для работы со строками.
Функции и рекурсия
В книге объясняется понятие функции как подпрограммы и рассматриваются различные типы подпрограмм: процедуры, функции и методы. Объясняется определение функции с помощью оператора def
, передача параметров (аргументов) в функцию и возврат значения из функции с помощью оператора return
. Рассматриваются стандартные функции Python и ситуации, в которых целесообразно использование функций. В заключение представлена рекурсия как метод, при котором функция вызывает сама себя.
Текст подготовлен языковой моделью и может содержать неточности.
А. В. Щерба Электронное издание Первые шаги Программирование Москва Лаборатория знаний 2022 ◀ ▶ Ш К О Л А Ю Н О Г О П Р О Г Р А М М И С Т А на Python
УДК 004.9 ББК 32.973 Щ61 С е р и я о с н о в а н а в 2018 г. Щерба А. В. Щ61 Программирование на Python R ○ : Первые шаги / А. В. Щерба. — Электрон. изд. — М. : Лаборатория знаний, 2022. — 253 с. — (Школа юного программиста). — Систем. требования: Adobe Reader XI ; экран 10". — Загл. с титул. экрана. — Текст : электронный. ISBN 978-5-93208-578-3 В книге описаны базовые конструкции программирования на языке Python: от именования переменных до многострочных программ с несколькими вложенными циклами и условными конструкциями. Материал содержит подробные пошаговые инструкции, множество примеров. В помощь читателю приведены иллюстрации и примеры интерактивных оболочек программных кодов, а также ссылки на источники и интернет-ресурсы. В каждой главе разбор возможных ошибок и задания с ответами в конце книги. Книга подойдет для дополнительного образования в школе и дома. Будет полезна учащимся средней и старшей школы, учителям, руководителям кружков и всем, кто интересуется программированием. УДК 004.9 ББК 32.973 Деривативное издание на основе печатного аналога: Программирование на Python R ○ : Первые шаги / А. В. Щерба. — М. : Лаборатория знаний, 2022. — 250 с. : ил. — (Школа юного программиста). — ISBN 978-5-93208-235-5. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации ISBN 978-5-93208-578-3 © Лаборатория знаний, 2022
Введение Программист — профессия, о которой многие наверняка что-то слышали. На ум приходит образ человека, постоянно сидящего за компьютером и «клацающего» по клавиатуре. И если не каждый учащийся после школы собирается стать программистом, то зачем учиться этому в школе? Попробуем ответить на этот в опрос. Программа и программирование Если говорить простыми словами, то программа — это инструкции для машины, язык программирования — способ их передачи, а программирование — сам процесс написания подобных инструкций на выбранном языке. Как и для людей, для машины одна и та же инструкция может быть записана на различных языках (C++, Python, JavaScript, Ruby и др.). В данной книге мы рассмотрим язык программирования Python. Этот язык характеризуется огромным количеством решаемых задач, простотой изучения и удобством работы с кодом, а также пользуется большим спросом среди работодателей и в IT-сообществе. Например, язык Python применяют для создания таких web-приложений, как Gmail, Google Maps и Yo uTube. В чем ценность умения программировать? Стоит отметить, что любой навык не обязательно используется именно в профессиональной сфере. Так, умение быстро считать, приобретаемое на уроках математики, способствует развитию быстрой реакции на поставленную задачу, составление таблиц по биологии или истории учит навыку выбирать главное и прослеживать взаимосвязи, изучение языков показывает наличие совершенно другого типа мышления. Тогда вопрос о важности приобретения этих навыков в школе становится практически риторическим и сводится к вопросу, важно ли научиться быстро реагировать, находить главное из
Введение большого потока информации и смотреть на вещи под разным углом. Можете ответить на этот вопрос самостоятельно и поразмышлять о том, какие еще навыки развиваются в школе. Умение структурировать и оптимизировать информацию/процессы, создавать понятный интерфейс приложения, доступный и удобный онлайн-сервис, организовывать диалог между пользователем и системой — все это находится на расстоянии вытянутой руки в самой распространенной профессиональной области XXI в. Подобным навыкам начинают обучаться уже в школьные годы. Программирование как процесс помогает научиться выделять главное, раскладывать сложное на простое, развивает дальновидность и креативность. Что вовсе может не касаться компьютерной науки. Как оптимизировать свои действия? С чего начать написание проекта или доклада? Программирование — зерно, которое в скором времени обязательно даст свои плоды в виде уменьшения времени, которое затрачивается, например, на выполнение домашнего задания или создание проекта. Глобально же навык программирования можно рассматривать как инструмент развития личности, который пригодится во всех сферах жизни. Предлагаем смело начать изучение основ программирования на языке Python, а в процессе самостоятельно решить, хотите вы начать заниматься этим на более глубоком и профессиональном уровне или применять освоенные навыки в повседневной жизни.
Глава 1. Знакомство со средой программирования IDLE и первая программа IDLE — это среда, которая позволяет просматривать, редактировать, запускать и производить отладку программ на языке Python. Данная среда программирования является свободно распространяемым программным обеспечением, доступным для скачивания с сайта www.python.org, поэтому ею может воспользоваться любой пользователь сети Интернет. Установка среды IDLE Пользователям Windows необходимо скачать установочный файл на официальном сайте https://www.python.org/downloads/ windows/, кликнуть дважды по загруженному файлу и следовать инструкциям установщика (рис. 1). Рис. 1. Загрузка установочного файла На Linux или Mac OS язык Python может быть уже установлен и готов к использованию, поскольку является стандартным компонентом этих операционных систем. Если его все же нет,
Глава 1. Знакомство со средой программирования IDLE его можно скачать на официальном сайте, в том же разделе, что и для Windows. В Linux для установки также достаточно двух команд в терминале: $ sudo apt-get update $ sudo apt-get install idle3 Интерфейс среды IDLE После загрузки и установки Python откройте IDLE. На экране появится следующее окно (рис. 2): Рис. 2. Интерактивный режим IDLE Перед нами интерпретатор Python — специальный модуль, который позволяет процессору считывать команды, записанные на языке программирования, и исполнять их. Другими словами, когда мы пишем код на языке Python, интерпретатор «читает» нашу программу и покомандно выполняет написанные в ней инструкции, опуская промежуточный этап сборки (компиляцию единого файла), в отличие от многих других языков программирования. Существует два вида работы в IDLE: интерактивный и с помощью создания отдельного файла. Интерактивный сеанс в IDLE начинается с вывода двух строк информационного текста о дате, времени и разрядности операционной системы, которые можно видеть на рис. 2, затем выводится приглашение к вводу команды >>>. Ввод каждой инструкции завершается нажатием клавиши Enter, после чего интерпретатор Python выполняет эту операцию и выдает результат или сообщение об ошибке.
Оператор print() — вывод данных на экран В интерактивном режиме можно вводить любое число команд, и каждая из них будет выполняться сразу же после ввода. Такой тип работы также называют работой в интерактивной оболочке. Второй тип работы в IDLE мы рассмотрим позже в данной главе. П ервая программа на языке Python Традиционно первой программой при изучении нового языка программирования является вывод строки «Hello, world!», символизирующей начало диалога между машиной и пользователем. В строке приглашения к вводу введем первую инструкцию: >>> print ('Hello, world!') Теперь нажмем Enter и увидим, как интерпретатор Python моментально выполнит указание напечатать строку «Hello, world!» (рис. 3). Наша первая программа (инструкция для Python) готова! Рис. 3. Запуск первой программы на Python О ператор print() — вывод данных на экран Вывод на экран, пожалуй, одна из самых важных функций в программировании. С ее помощью осуществляется передача информации пользователю или программисту.
Глава 1. Знакомство со средой программирования IDLE Обратите внимание, что 'Hello, world!' в нашей первой программе записано в кавычках. Так мы показываем Python, что необходимо вывести данную последовательность символов (включая пробелы) без изменений. Это также означает, что последовательность символов может быть любой и даже не иметь смысловой нагрузки. Например, '!', 'Error', ' ' или 'ytrewq'. Последовательность символов, заключенная в кавычки, называется строкой (не путать со строчкой в тексте) и является неизменяемым типом данных. Поэтому команда print('1') выведет на экран не число 1, а символ «1», с которым, например, нельзя будет производить арифметические операции. Важно! Интерактивная оболочка позволяет не использовать print(), поскольку в данном режиме нажатие клавиши Enter подразумевает автоматический вывод результата команды (рис. 4). Рис. 4. Возможность печатать строки без команды print() Эк сперименты в интерактивной оболочке Благодаря тому что программный код выполняется немедленно, интерактивный режим превращается в замечательный инструмент для экспериментов.
Эксперименты в интерактивной оболочке Предположим, что мы изучаем некоторый фрагмент программы на языке Python и наталкиваемся на выражения: 'Spam!'*8 '1'*8 1*8 Можно потратить с десяток минут в попытках выяснить, что же делают эти инструкции, а можно выполнить их в интерактивной оболочке — так будет намного быстрее и проще (рис. 5). Рис. 5. Инструкция для Python вывести на экран 'Spam!'*8, '1'*8, 1*8 Первый эксперимент наглядно показывает, что произошло умно жение строки 'Spam!' на число 8: в языке Python оператор * выполняет операцию умножения над числами, но, если левый операнд является строкой, он действует как оператор многократной конкатенации строки с самой собой. Не совсем понятно, правда? Разберем несколько новых понятий: «переменная», «операция», «оператор», «операнд», «выражение», «конкатенация». Переменная — это объект (реализуемый как именованая область памяти), который может принимать различные значения. Название переменной начинается с одной или нескольких латинских букв (например, b, sum), может содержать цифры и знаки подчеркивания (например, num1, num_2, num_3_1 и т. д.). При этом имена переменных в Python чувствительны к регистру (например, Number, NUMBER, number — это три различные переменные). Операция — это некоторое действие, которое необходимо совершить над числами и/или переменными (например, сложение, вычитание, умножение, деление и т. д.).
Глава 1. Знакомство со средой программирования IDLE Оператор — это объект (символ), который выполняет операцию и имеет привычную символьную запись (например, +, -, *, /). Операнд — это объект (число, символ, строка или переменная), над которым оператор выполняет операцию. Таким образом, выражение — совокупность операций, которые выполняются операторами над операндами. Например: b + 5 — выражение; сложение — операция; + — оператор; b, 5 — операнды. Конкатенация строк — операция присоединения, «склеивания» символов или их наборов. Операция конкатенации строк возможна не только с помощью оператора *, но и с помощью оператора +. Также их можно использовать вместе (рис. 6). Рис. 6. Пример конкатенации строк с помощью операторов * и + Эксперименты с кавычками Уделим особое внимание одинарным и двойным кавычкам, которые используются при выводе строк, через эксперимент в интерактивном режиме: >>> 'Одинарные кавычки уже были рассмотрены нами' 'Одинарные кавычки уже были рассмотрены нами' >>> "Как насчет двойных? - Ого! Так тоже работает!" 'Как насчет двойных? - Ого! Так тоже работает!' >>> "Python считал наши двойные кавычки, но вывел одинарные...хм" 'Python считал наши двойные кавычки, но вывел одинарные...хм'