КулЛиб - Классная библиотека! Скачать книги бесплатно
Всего книг - 712681 томов
Объем библиотеки - 1401 Гб.
Всего авторов - 274525
Пользователей - 125068

Последние комментарии

Новое на форуме

Впечатления

Влад и мир про Шенгальц: Черные ножи (Альтернативная история)

Читать не интересно. Стиль написания - тягомотина и небывальщина. Как вы представляете 16 летнего пацана за 180, худого, болезненного, с больным сердцем, недоедающего, работающего по 12 часов в цеху по сборке танков, при этом имеющий силы вставать пораньше и заниматься спортом и тренировкой. Тут и здоровый человек сдохнет. Как всегда автор пишет о чём не имеет представление. Я лично общался с рабочим на заводе Свердлова, производившего

  подробнее ...

Рейтинг: 0 ( 0 за, 0 против).
Влад и мир про Владимиров: Ирландец 2 (Альтернативная история)

Написано хорошо. Но сама тема не моя. Становление мафиози! Не люблю ворьё. Вор на воре сидит и вором погоняет и о ворах книжки сочиняет! Любой вор всегда себя считает жертвой обстоятельств, мол не сам, а жизнь такая! А жизнь кругом такая, потому, что сам ты такой! С арифметикой у автора тоже всё печально, как и у ГГ. Простая задачка. Есть игроки, сдающие определённую сумму для участия в игре и получающие определённое количество фишек. Если в

  подробнее ...

Рейтинг: 0 ( 0 за, 0 против).
DXBCKT про Дамиров: Курсант: Назад в СССР (Детективная фантастика)

Месяца 3-4 назад прочел (а вернее прослушал в аудиоверсии) данную книгу - а руки (прокомментировать ее) все никак не доходили)) Ну а вот на выходных, появилось время - за сим, я наконец-таки сподобился это сделать))

С одной стороны - казалось бы вполне «знакомая и местами изьезженная» тема (чуть не сказал - пластинка)) С другой же, именно нюансы порой позволяют отличить очередной «шаблон», от действительно интересной вещи...

В начале

  подробнее ...

Рейтинг: +1 ( 1 за, 0 против).
DXBCKT про Стариков: Геополитика: Как это делается (Политика и дипломатия)

Вообще-то если честно, то я даже не собирался брать эту книгу... Однако - отсутствие иного выбора и низкая цена (после 3 или 4-го захода в книжный) все таки "сделали свое черное дело" и книга была куплена))

Не собирался же ее брать изначально поскольку (давным давно до этого) после прочтения одной "явно неудавшейся" книги автора, навсегда зарекся это делать... Но потом до меня все-таки дошло что (это все же) не "очередная злободневная" (читай

  подробнее ...

Рейтинг: +1 ( 1 за, 0 против).
DXBCKT про Москаленко: Малой. Книга 3 (Боевая фантастика)

Третья часть делает еще более явный уклон в экзотерику и несмотря на все стсндартные шаблоны Eve-вселенной (базы знаний, нейросети и прочие девайсы) все сводится к очередной "ступени самосознания" и общения "в Астралях")) А уж почти каждодневные "глюки-подключения-беседы" с "проснувшейся планетой" (в виде галлюцинации - в образе симпатичной девчонки) так и вообще...))

В общем герою (лишь формально вникающему в разные железки и нейросети)

  подробнее ...

Рейтинг: +1 ( 1 за, 0 против).

Программирование на Python для абсолютных новичков [Кевин Уилсон] (pdf) читать онлайн

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

Программирование
на Python для
абсолютных
новичков
Иллюстрированное
руководство с
лабораторными
упражнениями

Кевин Уилсон

Программирование на Python для абсолютных
новичков
Copyright © 2023 Elluminet Press
Данная работа защищена авторским правом. Все права сохраняются за Издателем, независимо от того, касается
ли материала целиком или его части, в частности, права на перевод, перепечатку, повторное использование
иллюстраций, декламацию, трансляцию, воспроизведение на микрофильмах или любым другим физическим
способом, а также передачу или хранение информации. и поиск, электронная адаптация, компьютерное
программное обеспечение или с помощью аналогичной или отличающейся методологии, известной в настоящее
время или разработанной в дальнейшем. Исключением из этой юридической оговорки являются краткие выдержки
из рецензий или научных анализов, а также материалы, предоставленные специально для ввода и исполнения в
компьютерной системе для исключительного использования покупателем произведения. Дублирование данной
публикации или ее частей разрешено только в соответствии с положениями Закона об авторском праве места
нахождения Издателя в его действующей версии, и разрешение на использование всегда должно быть получено
от Издателя. Разрешения на использование можно получить через ссылку Rights Link в Центре проверки авторских
прав. Нарушения влекут за собой судебное преследование в соответствии с соответствующим Законом об
авторском праве.
В этой книге могут присутствовать торговые марки, логотипы и изображения. Вместо того, чтобы использовать
символ товарного знака при каждом появлении имени, логотипа или изображения, являющегося товарным знаком,
мы используем названия, логотипы и изображения только в редакционных целях и в интересах владельца
товарного знака, без намерения нарушения прав на товарный знак.
Использование в данной публикации торговых наименований, товарных знаков, знаков обслуживания и
аналогичных терминов, даже если они не обозначены как таковые, не должно рассматриваться как выражение
мнения относительно того, подлежат ли они правам собственности.
Хотя советы и информация в этой книге считаются правдивыми и точными на момент публикации, ни авторы, ни
редакторы, ни издатель не могут нести никакой юридической ответственности за любые ошибки или упущения,
которые могут быть допущены. Издатель не дает никаких гарантий, явных или подразумеваемых, в отношении
материалов, содержащихся в настоящем документе.
iStock.com/golibo, PeopleImages, ymgerman. Фото 130859010 © Каспарс Гринвальдс - Dreamstime.com. Фото
103557713 © Константин Колосов - Dreamstime.com. Юрий Аркурс из Getty Images
Издатель: Elluminet Пресс-директор: Кевин Уилсон
Ведущий редактор: Стивен Эшмор
Технический обозреватель: Майк Тейлор, Роберт Эшкрофт
Редакторы: Джоэнн Тейлор, Джеймс Марш
Корректор: Стивен Эшмор
Индексатор: Джеймс Марш
Дизайнер обложки: Кевин Уилсон
Версии электронных книг и лицензии также доступны для большинства изданий. Любой исходный код или другие
дополнительные материалы, на которые ссылается автор в этом тексте, доступны читателям по адресу
www.elluminetpress.com/resources
Подробную информацию о том, как найти ресурсы вашей книги, можно найти на сайте
www.elluminetpress.com/resources

Оглавление
Введение в компьютерное программирование 16
Знакомство с Python17
Настройка18
Установка в среде Windows 18
Установка в среде MacOS 22
Установка в среде Linux 23
Настройка среды кодирования25
Лабораторная работа 27
Основы 28
Классификация языков29
Язык низкого уровня29
Язык высокого уровня30
Объектно-ориентированное программирование 31
Класс 31
Объект 31
Атрибут 31
Метод 31
Синтаксис языка Python32
Зарезервированные слова 32
Идентификаторы 33
Переменные 33
Отступ 34
Коментарии 34
Ввод 34
Вывод 35
Функции 36
Написание программы36
Лабораторная работа 41
Работа с данными 42
Основные типы данных 43
Цлые числа43
Числа с плавающей запятой43
Строки 43
Списки 46
Двумерные списки 49
Наборы 51
Кортежи 52
Словари 53
Приведение типов данных55
Арифметические операторы 56
Приоритет операторов 56
Выполнение арифметичских операций56
Операторы сравнения 57

Логичские
операторы57
Побитовые
операторы58
Лабораторная работа 59
Управление потоком 60
Последовательность 61
Выбор 63
if...else 63
elif 65
Итерация (циклы) 67
Цикл for 67
Цикл while 70
break и continue 72
Лабораторная работа 73
Обработка файлов 74
Типы файлов 75
Текстовый файл 75
Двоичный файл 75
Операции с текстовыми файлами 75
Открыть файлы 76
Запись в файл 77
Чтение из файла 79
Операции с двоичными файлами 80
Открыть файлы 80
Запись в файл 81
Чтение файла 83
Произвольный доступ к файлам 84
Методы работы с файлами 86
Лабораторная работа 87
Использование функций 88
Что такое функции 89
Встроенные функции 90
Пользовательские функции 91
Видимость 93
Рекурсия 93
Лабораторная работа 97
Использование модулей 98
Импорт модулей 98
Создание собственных модулей 99
Лабораторная работа 101
Обработка исключений 102
Типы исключений 103
Перехват исключений 104
Создание собственных исключений 105
Объектно-ориентированное программирование 106

Класс 107
Объект 107
Атрибут 107
Метод 108
Принципы ООП 108
Инкапсуляция 108
Наследование 108
Полиморфизм 108
Абстракция 108
Классы и объекты 109
Наследование 113
Полиморфизм 117
Лабораторная работа 121
Turtle-графика 122
Импорт графического модуля Turtle 123
Команды Turtle 123
Настройте окно Turtle 125
Циклические команды126
Лабораторная работа 129
Создание интерфейса 130
Создание окна 131
Добавление виджетов133
Меню 133
Рабочая область 134
Изображения137
Кнопки 137
Окна сообщений 138
Текстовое поле 139
Список 140
Флажок 141
Метки 142
Рамка метки 143
Дизайн интерфейса 144
Разработка игр 148
Установка PyGame149
Открытие окна 150
Добавление изображения 151
Игровой цикл 152
Цикл событий 153
Фигуры 156
Базовая анимация 157
Собираем все это вместе 163
Мини-проект 167
Лабораторная работа 167
Веб-разработка на Python 168

Веб-серверы 169
Установка веб-сервера 170
Настройка поддержки Python 170
Где сохранять скрипты Python 173
Выполнение сценария 174
Веб-фреймворки Python 177
Ресурсы 182
Использование видео 183
Загрузка кода примера 184
Сканирование кодов 186
iPhone 186
Android 187

Об авторе
Имея более чем 20-летний опыт работы в компьютерной индустрии, Кевин Уилсон сделал
карьеру в сфере технологий и показал другим, как их использовать. Получив степень магистра в
области компьютерных наук, разработки программного обеспечения и мультимедийных систем,
Кевин занимал различные должности в ИТ-индустрии, включая связанные с графическим и вебдизайном, программированием, созданием и управлением корпоративными сетями, а также ИТподдержкой.
Он работает писателем и директором в Elluminet Press Ltd, периодически преподает информатику
в колледже и работает тренером по информационным технологиям в Англии, одновременно
работая над докторской диссертацией. Его книги стали ценным ресурсом для студентов Англии,
Южной Африки, Канады и США.
Девиз Кевина ясен: «Если ты не можешь объяснить что-то просто, значит, ты недостаточно
хорошо это понял». С этой целью он создал серию «Изучение технических вычислений», в
которой разбивает сложные технологические предметы на более мелкие и простые для
понимания шаги, которые студенты и обычные пользователи компьютеров могут применить на
практике.

Слова благодарности
Спасибо всему персоналу Luminescent Media и Elluminet Press за их энтузиазм,
самоотверженность и упорный труд при подготовке и выпуске этой книги.
Всем моим друзьям и семье за их постоянную поддержку и одобрение во всех моих
писательских проектах.
Всем моим коллегам, студентам и тестировщикам, которые нашли время протестировать
процедуры и оставить отзыв о книге.
Наконец, спасибо читателю за выбор этой книги. Надеюсь, это поможет вам изучить
компьютерное оборудование.
Наслаждайтесь!

Введение в программирование
Что такое компьютерная программа? Компьютерная программа — это
набор кратких инструкций, написанных на языке программирования,
которые последовательно выполняются для достижения задачи.
Компьютерная программа обычно берет некоторые данные, например
строку или число, и выполняет некоторую их обработку для получения
результатов. Обычно мы называем такие данные входными данными
программы, а результаты — выходными данными программы.
Для написания компьютерных программ мы используем язык
программирования. Существует множество различных языков, таких
как BASIC, C, C++ и Python. В этой книге мы сосредоточимся на языке
программирования Python.
Каждая компьютерная программа манипулирует данными для
получения результата, поэтому большинство языков позволяют
программисту выбирать имена для каждого элемента данных.
Эти элементы называются переменными. Переменная, как следует из
названия, представляет собой элемент, который во время выполнения
программы может содержать разные значения. Переменные могут
хранить данные разных типов, а разные типы могут выполнять разные
действия. Например, переменная может быть целочисленной для
хранения целого числа, с плавающей запятой для хранения чисел с
десятичными знаками, строкой для хранения текста или списком для
хранения нескольких элементов данных.
Если бы мы написали программу для вычисления площади
треугольника, мы могли бы создать переменные целочисленного типа
или с плавающей запятой для длины и высоты и одну для результата,
поскольку все они являются числами. Исполняемая часть программы
будет использовать числа, хранящиеся в переменных длины и высоты,
а затем присваивать результат переменной результата. Более
подробно переменные и типы данных мы рассмотрим в главе 3.
В более крупных программах нам часто приходится принимать

решения на основе данных пользователя, вычисленного результата
или условия. В таком случае мы используем оператор if. Это
называется выбором. Также может потребоваться повторить
некоторые блоки кода, в этом случае мы используем цикл. Это
называется повторением. Мы подробнее рассмотрим это в главе 4.
Многие современные компьютерные программы имеют необычный
графический
интерфейс
пользователя,
который
позволяет
пользователю взаимодействовать с кнопками, окнами и меню. Это
известно как программные приложения или приложения. В главе 11 мы
рассмотрим создание простого приложения с графическим
пользовательским интерфейсом.
Язык программирования Python обладает особыми возможностями,
позволяющими реализовать концепции, изложенные выше. Многие из
них будут представлены в этой книге.

Знакомство с Python
Python — это язык высокого уровня, разработанный Гвидо ван
Россумом в конце 80-х годов и который используется в веб-разработке,
научных приложениях, играх, искусственном интеллекте, а также
хорошо подходит для обучения компьютерному программированию.
Python спроектирован как легко читаемый язык. Поэтому он использует
лаконичный стиль форматирования и часто использует осмысленные
английские ключевые слова и имена функций.
Python — это интерпретируемый язык программирования, то есть
программы Python пишутся в текстовом редакторе, а затем для
выполнения обрабатываются интерпретатором Python.
Python используется в области искусственного интеллекта и его можно
найти во многих повседневных приложениях. Стриминговые сервисы,
такие как Spotify, используют Python для анализа данных, в частности,
привычек пользователя в отношении прослушивания, чтобы предлагать
рекомендации о том, за каким исполнителем следить, либо о другой
музыке, которая может быть интересна конкретному пользователю, и
так далее. Python также используется в алгоритмах машинного
обучения Netflix для рекомендации пользователям соответствующего
контента, мониторинга привычек просмотра и маркетинга.
В мире разработки игр Python используется в качестве сопутствующего
языка, то есть сценарии Python используются для добавления настроек
к основному игровому движку, сценариям поведения ИИ или элементам
на стороне сервера. Производительность Python недостаточна для
кодирования
высокопроизводительных
игр
с
интенсивным
использованием графики, однако вы можете создавать простые игры с
помощью Python, используя модуль pygame. Мы рассмотрим это в главе
12.
Python используется в веб-разработке и позволяет веб-разработчику
очень быстро разрабатывать динамические веб-приложения.
Подробнее об этом в главе 13.
Python — это кроссплатформенный язык, доступный для Windows,
MacOS, Linux и Raspberry Pi.

Настройка
Чтобы начать программировать, вам понадобится компьютер под
управлением Windows, MacOS или Linux, а также интегрированная
среда разработки (IDE) с интерпретатором Python. Давайте установим
Python.

Установка в среде Windows
В нашей лаборатории мы используем рабочие станции под
управлением Windows, поэтому нам необходимо установить среду
разработки Python для Windows.
Откройте веб-браузер и перейдите на следующий веб-сайт
www.python.org/downloads/windows

На странице загрузок выберите ‘executable installer’ последней
стабильной версии.

Нажмите «Выполнить» при появлении запроса в браузере. Или
нажмите «python-x.x.x-amd64.exe», если вы используете Chrome.

Stable Releases
Python 3.7.3- March 25,2019

Pre-releases
Python 3.8.0a4- May 6,2019

Note that Python 3.7.3 cannot be used on Windows XP or

Download Windows help file

earlier.

Download Windows x86-64 embeddable zip fi e
Download Windows x86·64 executable installer

Download Windows help file
Download Windows xBG-64 embeddable zip file
Download Windows xSG-64 executa ble installer
Windows x86·64 web-based installer

Download Windows xBG-64 web-based installer
Download Windows x86 embeddable zipfile
Download Windows x86 executable installer
Download Windows x86 web-based installer
Python 3.8.0a3- March 25,2019

x86 executable installer
python 3.7.3·amd64.exe "'

Show all

X

После запуска установщика убедитесь, что выбрано «Add python 3.x
to path», затем нажмите «Customize installation», чтобы выполнить
шаги для завершения установки.

Убедитесь, что вы установили все флажки для всех дополнительных
функций.

Нажмите «Next».

Убедитесь, что в верхней части диалогового окна выбран вариант
«Install for all users». Нажмите «Install», чтобы начать процесс
установки.

Нажмите «Disable path length limit», чтобы убедиться, что Python
работает без проблем в Windows и разрешает длинные имена
файлов..

Нажмите «Close», чтобы завершить процесс установки.

Вы найдете среду разработки Python (IDLE) и интерпретатор Python в
папке Python в меню «Пуск».

Установка в среде MacOS
Чтобы установить Python 3 с помощью официального установщика,
откройте веб-браузер и перейдите на следующий веб-сайт
www.python.org/downloads/macos

Нажмите Download Python.

Вы найдете пакет в папке загрузок. Дважды щелкните мышкой на
пакете, чтобы начать установку
Запустите мастер установки. Нажмите «Continue».

После завершения установки вы найдете Python в папке приложений в
Проводнике или на панели Пуск.

Установка в среде Linux
Если вы используете дистрибутив Linux, такой как Ubuntu, или у вас
Raspberry Pi, вы можете установить Python с помощью
терминального режима. Вы можете найти терминальное
приложение в своих приложениях. Также вы можете нажать кнопки
Control Alt T на клавиатуре.

В командной строке терминального окна введите следующие команды.
Нажимайте Enter после ввода каждой строки.
sudo apt update
sudo apt upgrade

Введите следующую команду, чтобы установить Python.
sudo apt install python3 -y

После установки Python нам нужно установить IDLE, среду разработки.
Для этого введите следующую команду в командной строке
sudo apt-get install idle3 -y

После установки вы найдете IDLE в своих приложениях.

Либо вы можете ввести следующую команду в командной строке
idle

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

Здесь, в редакторе, вы можете написать свой код, а затем запустить
его выполнение и отладку. Вы также заметите, что редактор кода
обеспечивает подсветку синтаксиса, что означает, что ключевые слова
и текст выделяются разными цветами, что упрощает чтение кода.

Настройка среды написания кода
Существует бесчисленное множество сред разработки и редакторов
кода, таких как
Sublime Text
IDLE
Atom
PyCharm
Thonny
PyDev и Visual Studio Code
Для наших целей мы будем использовать IDLE, интегрированную среду
разработки (IDE), поставляемую с Python.
Вы найдете IDLE в меню «Пуск» в Windows или в Finder/Launch Pad на
Mac.
После запуска IDLE вы увидите окно оболочки.

В ответ на приглашение ‘>>>’ вы можете вводить и выполнять
инструкции. Вы можете вводить математические операции, операции
сравнения, получать вводимые пользователем данные, а интерпретатор
Python будет их выполнять.

Здесь мы выполнили оператор печати и вычислили математическое
выражение. Как только вы нажмете Enter, вы увидите ниже результат,
отображаемый синим цветом.

Чтобы создать файл Python, выберите меню ‘File’ в верхнем левом углу
окна оболочки.

Выровняйте окно редактора слева от окна оболочки, как это показано
ниже.

Теперь вы можете ввести текст программы Python в окне
редактора. Для сохранения файла выберите меню ‘File’, нажмите
‘Save’. Чтобы запустить программу, выберите меню ‘Run’ в окне
редактора, нажмите ‘Run module’ (или нажмите F5).

Лабораторная работа
1. Настройте и установите Python и IDLE на свой компьютер.
2. Создайте на своем компьютере рабочий каталог для хранения
всех ваших программ Python. Он может располагаться в папке
с вашими документами, в зависимости от того, какую
операционную систему вы используете.
3. Загрузите исходные файлы кода для этой книги и извлеките
файл pythonfiles.zip в каталог, созданный вами выше.
elluminetpress.com/python

4. Что такое компьютерная программа?
5. Как открыть новый файл в IDLE? Как сохранить программу в
IDLE? В каком каталоге вы сохраняете свою программу? Как
вы запускаете программу?
6. Где можно использовать язык Python?

Основы
Программы Python пишутся в текстовом редакторе, таком как Блокнот,
PyCharm, или в редакторе кода в среде разработки Python (IDLE) и
сохраняются с расширением файла .py.
Затем вы используете интерпретатор Python для выполнения кода,
сохраненного
в
файле.
Для
этого
раздела
посмотрите
демонстрационные видео
elluminetpress.com/pybasics

Посмотрите файлы в каталоге Chapter 02.
Давайте начнем с самого начала и узнаем, что такое язык
программирования.
Язык программирования — это метод выражения набора кратких
инструкций, которые должны выполняться компьютером.

Классификация языков
Существуют языки программирования разных уровней: языки низкого
уровня и языки высокого уровня.

Язык низкого уровня
Язык низкого уровня — это язык программирования, функции которого
часто относятся непосредственно к инструкциям процессора и обычно
пишутся на машинном коде или языке ассемблера.
Язык ассемблера известен как язык программирования второго
поколения, причем машинный код является первым поколением.
Давайте рассмотрим простую программу. Здесь у нас приведена
небольшая программа суммирования, написанная на языке
ассемблера для нашего процессора, и она может выглядеть примерно
так
LDA 12H
ADD 07H
STA 09H
STP

Код пишется на языке ассемблера, а затем перед его выполнением
компилируется в машинный код с помощью ассемблера.

Каждая
инструкция
языка
ассемблера
соответствует
последовательности двоичных чисел в машинном коде. Числа,
символы, адреса и другие данные преобразуются в их эквиваленты в
машинном коде.
Итак, LDA можно представить двоичным кодом: 11000011, число 1210
в двоичном виде равно 00001100.
Собранный машинный код затем выполняется процессором.

Язык высокого уровня
Python является примером языка высокого уровня. Вместо того
чтобы напрямую работать с регистрами процессора и адресами
памяти, языки высокого уровня имеют дело с переменными,
удобочитаемыми операторами, циклами и функциями.
Код языка высокого уровня либо компилируется в исполняемую
программу машинного кода, либо интерпретируется. Такие языки, как
C или C++, часто компилируются, то есть код пишется, а затем
преобразуется в исполняемый файл. Это делает их идеальными для
разработки программного обеспечения, позволяющего писать такие
приложения, как Microsoft Word, которые работают на компьютере.

Python — это интерпретируемый язык, то есть код, который вы
пишете, напрямую переводится в машинный код, что делает его
хорошо подходящим для веб-разработки.

Здесь вы можете видеть, как интерпретатор выполняет код построчно,
получая доступ к любым данным, необходимым программе, а затем
отображает результат прямо на экране.

Объектно-ориентированное
программирование
Python — объектно-ориентированный язык программирования. Это
означает, что стрктура программы основан на объектах, а не на
функциях и логике.

Мы рассмотрим это более подробно в главе 9, а пока просто
ознакомьтесь с терминологией.

Класс
Класс — это определяемая пользователем схема или шаблон,
который определяет атрибуты (переменные) и методы (функции) и
содержит их все в одном модуле, называемом классом.

Объект
Объект — это экземпляр класса. Итак, вы можете иметь класс под
названием ‘car’ и использовать его для определения объекта с
наименованием ‘merc’, ‘taxi’ и т.д.

Атрибут
An attribute, is similar to a variable and is used temporarily store data
The attribute can only be accessed from within the object where it’s
defined. For example: object.attribute

Метод
Метод — это функция, которая используется объектом для
выполнения действия. На методы обычно ссылаются, указывая
наименование объекта и через точку наименование метода.
Например: object.method()

Синтаксис языка Python
Синтаксис определяет, как пишется и интерпретируется программа, и
составляет основу написания кода.

Зарезервированные слова
Это слова, зарезервированные языком программирования, и которые
определяют синтаксис и структуру. Вот некоторые из наиболее
распространенных из них:
and
as
assert
break
class

Логический оператор, обычно используемый в операторах if
Создает псевдоним
Для условий тестирования и использования при отладке
Выход из цикла
Создает класс

continue
def

Продолжает переход к следующей итерации цикла
Определяет функцию

del
elif
else
except
false
finally
for
from
global
if
import
in
is
lambda
None
nonlocal
not
or

Удаляет объект
Используется в условных операторах, так же, как и else if
Используется в условных операторах
Определяет код, который будет запускаться при возникновении ошибки
(исключения)
Логическое значение, результат операций сравнения
Используется с исключениями, блок кода, который будет выполнен
независимо от того, есть исключение или нет
Создает цикл for
Используется для импорта только указанного раздела из модуля.
Объявляет глобальную переменную
Создает условный оператор
Импортирует модуль
Используется для проверки наличия значения в последовательности
Используется для проверки того, относятся ли две переменные к одному и
тому же объекту
Используется для создания небольших анонимных функций
Представляет собой нулевое значение
Используется для работы с переменными внутри вложенных функций,
Логический оператор
Логический оператор

pass
raise
return

Ничего не делает, используется как заполнитель
Используется для создания исключения.
Используется, чтобы выйти из функции и вернуть значение

true
try

Логическое значение, результат операций сравнения
Используется для создания выражения try...except

while
with

Создает цикл while
Используется для упрощения обработки исключений

yield

Используется для завершения функции, возвращает генератор

Например, слово while указывает на цикл while. Слово «if» определяет
«оператор if». Вы не можете использовать зарезервированное слово в
качестве имени переменной или наименования функции.

Идентификаторы
Идентификатор — это наименование, присвоенное классу, функции
или переменной. Идентификаторы могут представлять собой
комбинацию прописных или строчных букв, цифр или символа
подчеркивания _. Идентификаторы не могут быть ключевыми
словами, и вы не можете использовать в них специальные
символы, такие как *, ?, !, @, # или $. Идентификаторы
чувствительны к регистру, они не могут содержать пробелы, а
первый символ не может быть цифрой. Постарайтесь, чтобы
идентификаторы были осмысленными, чтобы они описывали, для
чего они используются.
printData, firstVariable, _count, userCount

Переменные
Переменная — это помеченное место в памяти, которое используется
для хранения значений компьютерной программы. Существует два типа
переменных: локальные и глобальные.

Переменные, определенные внутри функции, называются локальными
переменными, поскольку они являются переменными только этой
конкретной функции. Эти переменные может видеть только та функция,
в которой они определены. Эти переменные имеют локальную область
видимости.
Здесь «sum», «firstnum» и «secondnum» являются локальными
переменными функции «addsum».
def addsum(firstnum, secondnum):

sum

=

firstnum

return

sum

+

secondnum

Глобальные переменные определяются в основной части программы,
вне каких-либо конкретных функций. Эти переменные могут быть
просмотрены любой функцией, и про них говорят, что они имеют
глобальную область видимости.
В этом примере «a» и «b» являются глобальными переменными.

a = int(2)
b = int(3)
def addsum(firstnum, secondnum):
sum = ffirstnum + secondnum
return sum

Отступ
Большинство других языков программирования, таких как C и C++,
используют фигурные скобки { } для определения блока кода. Python
использует отступы. Используйте для этого клавишу табуляции.

Это станет более понятным, когда мы начнем использовать операторы и
циклы if/else в главе 4 и функции в главе 6.

Комментарии
Комментарии очень важны при написании программы. Вы должны четко
документировать весь свой код с помощью комментариев, чтобы другие
разработчики, работающие над проектом, могли лучше понять, что
делает ваш код.

Используйте символ решетки (#) для написания однострочных
комментариев.
# Prompt user for two numbers
a = input (‘Enter first number: ’)
b = input (‘Enter second number: ’)

Если вам нужно написать многострочный комментарий с описанием
функциональности, используйте тройные кавычки до и после блока
комментариев.
Например:
“““ Prompt user for two numbers
one after the other using a text input ”””
a = input (‘Enter first number: ’)
b = input (‘Enter second number: ’)

Ввод
Вы можете получить ввод от пользователя, используя функцию

input(). Эта функция предлагает пользователю ввести некоторые
данные и присваивает их переменной «number».
number = input (‘Enter a number: ’)

Когда мы выполняем эту строку, функция ввода отображает
приглашение на консоли оболочки. Введенные данные будут присвоены
переменной.

Вывод
Вывести

информацию

print().

на

экран

можно

с

помощью

функции

Вы можете распечатать содержимое переменной или

использовать строку в качестве параметров функции
Например:

print().

print (number)

...или...
print (‘this is a string of text’)

Когда мы выполняем эту строку, текст выводится на консоли оболочки.

Функции
Функция — это блок кода, который выполняется только при его вызове.
Python поставляется с различными встроенными функциями, такими как
print(), input(), format(), int()

Функция принимает параметры или аргументы, заключенные в круглые
скобки, и возвращает результат. Кажется, что большинство людей
используют оба этих термина как взаимозаменяемые, но между ними
есть разница.
Параметр — это переменная в определении функции.
Аргумент — это значение, передаваемое во время вызова
функции.
Вы также можете создавать свои собственные функции. Эти функции
называются пользовательскими функциями. Например:
def functionName (parameters):


Мы рассмотрим функции в главе 6.

Написание программы
Чтобы написать программу, откройте IDLE Python из меню «Пуск».
Выберите меню «File», затем нажмите «New File».

Появится новое пустое окно. Это редактор кода. Здесь вы можете
написать весь свой код на Python.

Расположите окна, как это показано ниже, расположив оболочку Python
с правой стороны — здесь вы увидите результаты работы своих
программ. Окно редактора кода поместите рядом с окном оболочки
Python слева.

В качестве нашей первой программы мы собираемся написать код,

который складывает два числа, а затем отображает результат.
Во-первых, нам нужны две переменные для хранения чисел.

Мы будем использовать «a» и «b». Каждой переменной мы присвоим
число 5.
a = 5
b = 5

Далее нам нужен фрагмент кода, который будет складывать два числа и
сохранять результат.
В этом случае значения, присвоенные переменным «a» и «b», будут
суммироваться и сохраняться в переменной ‘result’.

Итак...
result = a + b

Далее нам понадобится функция для вывода результата на экран.
print (result)

Давайте объединим все это в программе.

Чтобы запустить программу, нажмите F5 или перейдите в меню «Run» в
редакторе кода и нажмите «Run Module».

На изображении ниже вы можете увидеть результат работы программы.
В данном случае «10».

Эта конкретная программа не очень полезна. Было бы намного лучше,
если бы мы могли позволить пользователю вводить числа, которые он
хочет сложить. Для этого нам нужно добавить функцию, которая будет
запрашивать у пользователя значения.
Мы будем использовать функцию input(). Мы можем заменить
переменные «a» и «b» из предыдущей программы функцией ввода.
a = input (‘Enter first number: ’)
b = input (‘Enter second number: ’)

Теперь, поскольку функция ввода считывает введенные значения в
виде текста (называемого строкой), нам необходимо преобразовать их в
числа. Поэтому нам нужно изменить код, который складывает два
числа. Мы можем использовать функцию int() — она преобразует
текст в целое число.
result = int(a) + int(b)

Давайте объединим все это в программе.

На изображении ниже вы можете увидеть результат работы программы.
Программа запросила у пользователя два числа, сложила их вместе, а
затем отобразила результат в нижней строке.

Лабораторная работа
1. Какой результат дает следующий фрагмент кода?
num1 = 2
num2 = 3
print (num1 + num2)

2. Какой результат дает следующий фрагмент кода?
num1 = 2
num2 = 3
print (“num 1 + num 2 = “, num1 + num2)

3. Найдите ошибки в следующей программе
Num1 = 2
num2 := 3
Sum = num1 + num2;
printf(sum)

4. Что такое идентификатор?
5. Какие из приведенных ниже идентификаторов действительны, а
какие недействительны? Почему?
Num1
time-of-day
tax_rate
x5
int
7th_Rec
yield

6. Как вы пишете комментарии в своем коде? Объясните на
примере.
7. Почему вам следует включать комментарии?
8. Что такое зарезервированное слово?
9. Что такое язык низкого и высокого уровня?

10.

Что такое объектно-ориентированное программирование?

Работа с данными
Вы можете хранить и манипулировать всеми типами данных: числом,
строкой, списком и т. д. Для хранения данных мы используем
переменную, которая является временным контейнером для хранения
значений данных.
В Python вам не нужно объявлять все переменные перед их
использованием, поскольку они автоматически объявляются при первом
назначении каких-либо данных.
Переменные могут содержать различные типы данных, такие как строка,
число, список элементов и т. д.
Для этого раздела посмотрите демонстрационные видео
elluminetpress.com/pybasics

Вам также понадобятся исходные файлы из каталога Chapter 03.

Основные типы данных
Переменная может хранить различные виды данных, называемые типом
данных. Давайте представим некоторые основные типы, которые мы
будем рассматривать.

Целые числа
Целое число (int) — это целое число, которое может быть
положительным или отрицательным. Целые числа обычно могут иметь
неограниченную длину.
score = 45

Числа с плавающей запятой
Число с плавающей запятой (float), иногда называемое действительным
числом, представляет собой число, имеющее десятичную точку.
temperature = 44.7

Строки
В коде Python строка (str) должна быть заключена в кавычки ‘’...’’ или ‘...’,
и вы можете присвоить строку переменной, используя знак «=».
name = “John Myers”

Если вы хотите присвоить многострочную строку, заключите ее в
тройные кавычки """
message = """Hi, I would like to know
where I can find..."""

Конкатенация
Конкатенация означает объединение двух строк. Для этого можно
использовать оператор +.
wordOne = "Hi! "
wordTwo = "My name is..."
sentence = wordOne

+

wordTwo

Результатом будет предложение, представляющее собой объединение
двух строк:
"Hi! My name is..."

Срез
Вы можете разрезать строку, то есть вернуть из строки диапазон
символов. Например, если мы хотим разрезать следующее

Мы указываем начальный индекс и конечный индекс, разделенные
двоеточием.
sliced = Str[4:8]

Здесь мы вырезаем с 4 до 8 (последняя позиция не учитывается)

Это вернет результат
MINE

Строковые методы
Python предоставляет множество методов для работы со строками.
Например, если мы хотим посчитать, сколько раз в строке появляется
буква «L»
Str = 'ELLUMINET'

Вы можете использовать метод count()
charCount = Str.count('L')

Вот несколько
Попробуйте их.
Функция
count()
find()
format()

других

распространенных

Описание
Возвращает, сколько раз в строке
встречается указанное значение
Ищет в строке указанное значение и
возвращает позицию, где оно было
найдено
Форматирует указанные значения в
строке

строковых

методов.

Пример
Str.count("string to
count")
Str.find("chars to find")
Str.format()

Возвращает новую строку, которая
представляет собой объединение строк.
Преобразует строку в нижний регистр.
Создает новую строку, заменяя
некоторые части другой строки.

Str.join("string 1",
"string 2"...)
Str.lower()
Str.replace("value to
replace", "new value")

split()

Разбивает строку на список строк на
основе разделителя, например запятой.

Str.split()

upper()

Преобразует строку в верхний регистр.

Str.upper()

join()
Iower()
replace()

Управляющие символы
Управляющий символ предписывает интерпретатору выполнить
определенную операцию, такую как разрыв строки или табуляция, или
зарезервированный символ, такой как кавычка или апостроф.
Управляющие символы начинаются с обратной косой черты (\) и
используются для форматирования строки.

Управляющий символ
\n
\t
\
\\
\’

Функция
Разрыв строки
Табуляция (горизонтальный отступ)
Новая строка в многострочной строке
Обратная косая черта
Апостроф или одинарная кавычка

\"

Двойная кавычка

Например, вы можете использовать символ табуляции и разрыва
строки, чтобы отформатировать текст.
print(“John \t 45 \nJoanne \t 15”)

Вывод в этой строке будет выглядеть примерно так:
John 45
Joanne 15

Форматирование строк
Форматирование вывода с использованием метода .format()
использует { } для обозначения замены переменной в выходной строке
функции print().
print(`Time

Они

is:

известны

как

{0}`.format(var))

поля

формата

и

заменяются

объектами,

передаваемыми в метод .format(). Мы можем использовать
число в скобках для обозначения положения объекта, переданного в
метод format().

Строковые символы
Мы можем получить доступ к отдельным символам, используя индекс.
Помните, что индекс начинается с 0.
Если бы мы объявили
Str = 'ELLUMINET'

Мы получили бы что-то вроде этого::

Для индексации любого из символов необходим элемент Str с индексом
в квадратных скобках.
Str[index]

Итак, в приведенном ниже примере Chr = 'L'
Chr = Str[2]

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

В других языках программирования списки называются массивами, и вы
можете создать их следующим образом: элементы списка заключаются
в квадратные скобки [ ]:
shoppingList = [‘bread’, ‘milk’, ‘coffee’, ‘cereal’]

Чтобы сослаться на элемент в списке, поместите ссылку на него в
квадратные скобки:
print (shoppingList[1])

Вы можете присвоить другое значение элементу в списке (например,
заменить хлопья или Cereal)
shoppingList[3] = “chocolate”

В итоге у вас получится что-то вроде этого

Давайте рассмотрим программу. Откройте файл list1.py. Здесь мы
создали список и наполнили его некоторыми данными.

Мы можем вывести данные из списка, используя оператор печати и
ссылку на элемент в списке покупок.
print (shoppingList[3])

Мы также можем обновить элемент в списке, используя ссылку.
shoppingList[3] = 'pizza'

Чтобы вставить элемент – укажите индекс, по которому нужно вставить
элемент. Например, чтобы вставить слово «grapes» по индексу 1
shoppingList.insert(1, 'grapes')

Этот код вставляет «grapes» в положение индекса [1] и сдвигает
элементы после места вставки вправо.

Чтобы добавить элемент, используйте
элемент в конец списка.

append().

Он добавит

shoppingList.append('blueberry')

Чтобы удалить элемент по его значению
shoppingList.remove('blueberry')

Удаление элемента по заданному индексу
shoppingList.pop(1)

Двумерные списки
Двумерные списки визуализируются как сетка, похожая на таблицу со
строками и столбцами. Каждый столбец в сетке нумеруется, начиная с
0. Аналогично, каждая строка нумеруется, начиная с 0. Каждая ячейка в
сетке идентифицируется индексом — индексом строки, за которым
следует индекс столбца (показан ниже в кружках).

Вы можете объявить приведенный выше список как
scoreSheet
[

=

[ 21, 8, 17, 4 ],
[ 2, 16, 9, 19 ],
[ 8, 21, 14, 3 ],
[ 3, 18, 15, 5 ]
]

Чтобы сослаться на элемент двумерного списка, поместите обе ссылки
в квадратные скобки (сначала индекс строки, затем индекс столбца):
print (scoreSheet[1][2]) #circled above

Вы можете изменить элементы в списке, поместив обе ссылки в
квадратные скобки (сначала индекс строки, затем индекс столбца), а
затем присвоив значение:
scoreSheet [0][3] = 21

Давайте рассмотрим программу. Откройте файл list2d.py. Здесь мы
объявили наш список ShoreSheet и наполнили его некоторыми данными.

Мы можем добавить элемент в определенное место в списке
scoreSheet [1][2] = 21

Мы также можем выводить данные, хранящиеся в определенном месте
в списке
print (scoreSheet[1][2])

Наборы
Набор — это неупорядоченная коллекция уникальных элементов,
заключенных в фигурные скобки { }. Наборы могут содержать разные
типы.
Вы можете создать такой набор:
setName = {1, 6, 2, 9}

Две вещи, которые следует отметить относительно наборов. Во-первых,
вы не можете индексировать отдельные элементы набора, поскольку
это неупорядоченный тип данных. Во-вторых, вы не можете изменять
отдельные значения в наборе, как это можно делать со списками.
Однако вы можете добавлять или удалять элементы. Используйте
метод .add()и введите данные для добавления в скобках.
setName.add('item to add')

Давайте рассмотрим программу. Откройте файл set.py. Здесь мы
создали набор с названиями животных. Мы можем вывести данные из
набора.

Мы также можем добавить элемент в набор, используя метод
.add().

Кортежи
Кортеж похож на список и представляет собой последовательность
элементов, каждый из которых идентифицируется индексом. Как и в
списках, индекс начинается с 0, а не с 1.
В отличие от списков, элементы в кортеже нельзя изменить после их
назначения, а сами кортежи могут содержать разные типы данных.
Чтобы создать кортеж, заключите элементы в круглые скобки ( ).
userDetails = (1, ‘John’, ‘123 May Road’)

Используйте кортеж, если хотите сохранить данные другого типа,
например данные для входа на ваш веб-сайт.
Давайте рассмотрим программу. Откройте файл tuple.py. Здесь мы
создали кортеж из нескольких цветов.

Мы можем вывести данные из кортежа с помощью оператора печати.
print (Palette[2])

Словари
Словарь — это неупорядоченная коллекция элементов, каждый из
которых идентифицируется ключом. Чтобы создать словарь, заключите
элементы в фигурные скобки { }. Определите каждый элемент с
помощью ключа, используя двоеточие.

capitalCities = {'UK': 'London',
'Australia': 'Canberra’,
'USA': 'Washington DC',
'Spain': 'Madrid'}

Когда мы объявляем вышеизложенное, мы можем визуализировать это
следующим образом:

Чтобы прочитать значение, укажите наименование словаря, затем
поместите ключ в квадратные скобки.
print

(capitalCities['USA'])

Чтобы изменить значение, укажите наименование словаря, поместив
ключ в квадратные скобки. Затем присвойте значение, используя '='.
capitalCities['USA']

= 'DC'

Чтобы добавить элемент, используйте метод .update(). Заключите
данные, которые нужно добавить, в фигурные скобки {'Key' :
'Data'}. Если ключ не существует, он добавит элемент в конец.
capitalCities.update( {'France': 'Paris'}

)

Чтобы удалить элемент, укажите ключ элемента для удаления 'spain'.
capitalCities.pop('Spain')

В итоге у нас получится следующее:

Давайте рассмотрим программу. Откройте файл Capitals.py. Здесь мы
создали словарь с некоторыми данными. Мы прошлись по словарю,
используя цикл for, чтобы распечатать каждый элемент словаря.

Мы заменили 'USA' на 'DC', присвоив 'DC' словарю по ключу 'USA'. Мы
также использовали метод .update(), чтобы добавить 'France'.

Наконец, мы использовали метод
'Spain'.

.pop()

для удаления слова

Приведение типов данных
Переменные могут содержать различные типы данных, такие как текст
(называемый строкой), целое число (называемое целым числом) или
число с плавающей запятой (числа с десятичной точкой).
В Python вам не нужно объявлять все переменные перед их
использованием. Однако вам может потребоваться преобразовать
переменные в другие типы. Эта процедура известна как приведение
типов.
В Python есть два типа преобразования типов: неявное и явное.
При неявном преобразовании типов Python автоматически преобразует
один тип данных в другой.
В случае явного преобразования типов программист преобразует тип
данных в требуемый тип данных с помощью определенной функции. Вы
можете использовать следующие функции для приведения типов
данных:

int( ) преобразует данные в целое число
long( ) преобразует данные в длинное целое число
float( ) преобразует данные в число с плавающей запятой
str( ) преобразует данные в строку
Например, вы можете использовать функцию input( ), чтобы запросить
у пользователя некоторые данные

a = input (`Enter first number: `)
В этом примере пользователю будет предложено ввести некоторые
данные, а затем сохранить эти данные в переменной «a» в виде строки.
Это может и звучит нормально, но что, если мы захотим выполнить
некоторые арифметические действия сданными? Мы не сможем этого
сделать, если данные хранятся в виде строки. Нам придется ввести
данные в переменную как целое число, либо число с плавающей
запятой.
int(a)

либо
float(a)

Арифметические операторы
В языке Python существует несколько арифметических операторов,
которые вы можете использовать.

Оператор
**
/
*
+
-

Описание
Возведние в стпень
Деление
Умножение
Сложение
Вычитание

Приоритет операторов
BIDMAS (иногда называемый BODMAS) — это аббревиатура, обычно
используемая
для
запоминания
приоритета
математических
операторов, то есть порядка, в котором вы оцениваете каждый
оператор.
1. Brackets ( ) или скобки
2. Indices ** или возведение в степень
3. Divide / или деление
4. Multiply * или умножение
5. Add + или сложение
6. Subtract – или вычитание

Выполнение арифметических операций
Если вы хотите добавить 20% налога с продаж к цене в 12,95 долларов,
вы можете написать что-то вроде этого...
total = 12.95 + 12.95 * 20 / 100

Согласно приведенному выше перечню приоритетов, вы должны
сначала выполнить оператор деления:
20 / 100 = 0.2

Затем - умножения
12.95 * 0.2 = 2.59

И наконец, сложения
12.95 + 2.59 = 15.54

Операторы сравнения
Эти операторы используются для сравнения значений и обычно
используются в условных операторах или при построении циклов.

Оператор
==
!=
>
<
>=
>=

Описание
Равно
Неравно
Больше чем
Меньше чем
Больше чем или равно
Меньше чем или равно

Например, сравнивая два значения в операторе «if», вы можете
написать что-то вроде этого:
if a > 10:
print (“You’ve gone over 10...“)

Логические операторы
Также известны как логические операторы и обычно используются в
условных операторах (if...) или создании циклов ( while... for...). Мы
рассмотрим операторы if и циклы в Главе 4.

Оператор
and
or
not

Описание
Возвращает `верно`, если оба операнда
являются истинными
Возвращает `верно`, если какой-либо из
операндов является истинным
Возвращает `верно`, если операнд является
истинным

Например, вы можете объединить два сравнения в выражении ‘if’ ,
используя ‘and’, как это показано ниже:
if a >= 0

and

a = 0)
и (a

Сдвиг вправо

Сдвигает биты вправо

Вы можете применять побитовые операторы
a >> 2 #сдвинуть биты 'a' влево на 2 позиции
a >>

===========

RESTART: \\rockstore\data\Resources\Pyth
on\inchescocm .py
Enter length in centimeters:30
30 em is 11.81103 inches

===========

»> I

Ln: 1 Col:0

Ln:7 Col:4

Выбор
В большинстве компьютерных программ существуют определенные
моменты, когда необходимо принять решение. Это решение основано
на условии, и это условие может быть либо истинным, либо ложным.

if...else
Если используются выражения при необходимости принять решение.
Если условие истинно, оператор if выполнит первый блок кода, если
условие ложно, оператор if выполнит блок кода «else», если он включен
в код.

Так например:
if num >= 0:

#условие

print(“Positive or Zero”)

#первый блок

else:
print(“Negative number”)

#блок else

Давайте рассмотрим программу. Откройте selection.py. Здесь мы видим
очень простой оператор if, позволяющий определить, является ли
результат теста пройденным или нет. Уровнь прохождения равен 70,
поэтому нам нужен оператор if, чтобы возвращать сообщение о
прохождении, если введенное значение больше 70. Помните, что нам
также нужно преобразовать переменную «mark» в целое число (int).
Если вы введете значение больше 70, интерпретатор Python выполнит
первый блок оператора if.

Если вы введете значение ниже 70, интерпретатор Python выполнит
блок else оператора if.

L selection.py- \\rockstore\data\Resourc ...
File

Edit

Format

Run

Options

Window

0
Help

mark= int (input ("Enter your score"))
if mark > 70:
print ("You've passed!" )
else :
print ("You've failed, try again.")

X

L Python 3.8.1 Shell
File

+

Ed it

Shell

Debug

0
Options

Window

X

Hel p

Pychon 3.8 .1 (cags/v3.8.l :lb293b6, Dec 18 2019, 22
:39:24) [MSC v .l916 32 bit (Intel)] on win32
Type "help", "copyrigh c", "credit:. s" or "license( )"
for more information.

>>>
============ RESTART: \\rockstore\data\Resources\P
ython\selection.py ===========
En er your score 33
You 've failed, try again.

»> I

A

elif
Используйте оператор elif, если необходимо принять несколько
решений. Каждое решение (или условие) будет иметь набор инструкций,
которые необходимо выполнить.

Так например:
if condition:
[statements]

#условие if
#первый блок кода

elif condition:
[statements]

#второй блок кода

elif condition:
[statements]

#первый оператор elif
#второй оператор elif

#третий блок кода

else:
[statements]

#блок кода else

Давайте рассмотрим программу. Откройте multiselection.py.

Если мы проанализируем оператор eilf, мы увидим, как он работает. Для
первого условия любое введенное число, которое больше 70, приведет
к выполнению первого блока.

Для любого числа от 60 до 69, интерпретатор выполнит второй блок.

Аналогично и для остальных условий. 50-59 и 40-49.

При любом условии, которое не удовлетворяет приведенным выше
операторам ‘elif’, интерпретатор выполнит блок else.

Итерация (циклы)
Цикл — это набор операторов, которые повторяются до тех пор, пока не
будет выполнено определенное условие. Мы рассмотрим два типа
циклов: цикл for и цикл while.

Цикл for
Цикл for выполняет набор операторов для каждого элемента
последовательности, например списка, строки или диапазона. Это
позволяет повторять блок кода определенное количество раз.

Этот конкретный цикл распечатает каждое имя из списка на новой
строке
myList = [‘john’, ‘lucy’, ‘kate’, ‘mike’]

for val in myList:
print (val)

#блок кода в цикле

Давайте рассмотрим программу. Откройте forloop.py. Цикл for содержит
условие цикла. В этом примере цикл будет выполняться для каждого
элемента списка фруктов (последовательности).

Переменная ‘item’ в операторе цикла for является указателем или
счетчиком текущего значения или элемента последовательности.

Для каждого из этих элементов интерпретатор выполнит все
инструкции внутри цикла. В этом примере это оператор print.
print (item, end=’\n’)

Интерпретатор снова проверит условие в цикле for и, если оно истинно,
интерпретатор снова выполнит все инструкции внутри цикла. На
каждой итерации цикла счетчик перемещается к следующему значению
или элементу.

В конце последовательности условие цикла становится ложным,
поэтому цикл завершается.
Давайте рассмотрим другой пример. Откройте forloop2.py.

Запустив программу, вы увидите, что она делает.

Yes

No

Цикл while
Цикл while выполняет набор операторов до тех пор, пока определенное
условие истинно. Этот цикл позволяет повторять набор операторов в
блоке кода неизвестное количество раз и будет продолжать
повторяться, пока условие истинно.

Этот конкретный цикл будет продолжать запрашивать у пользователя
ввод ткста до тех пор, пока пользователь не введет слово ‘fire’.

userInput = ‘’
while userInput != ‘fire’:
userInput = input (‘Enter passcode: ‘)

Давайте рассмотрим программу. Откройте whileloop.py. Цикл while
содержит условие цикла.

Запустив программу, вы увидите, что она делает.

Break и Continue
Оператор break выходит из цикла. В этом примере цикл
прерывается, когда счетчик равен 5.
while (counter < 10):
if counter == 5:
break
counter = counter + 1

Оператор continue возвращает выполнение программы к началу
цикла, не выполняя при этом остальную часть кода после ключевого
слова continue. В данном примере цикл перезапускается, если ‘number’
являтся четным.
myList = [1, 2, 3, 4, 5, 6, 7, 8]
for number in myList:
if number % 2 == 0: #если число четное
continue
print(number)

Посмотрите демонстрационные видеоролики и ознакомьтесь с циклами
и операторами if.
www.elluminetpress.com/pythonflow

Лабораторная работа
Взгляните на следующие упражнения и используйте полученные знания
для решения задач.
1. Напишите программу для вывода на экран чисел от 1 до 10.
2. Напишите программу для вывода на экран списка имен.
3. Напишите программу для вычисления и печати квадратов чисел от 1
до 10. Используйте табуляции для отображения их в таблице.
4. Напишите программу, которая принимает число от пользователя до
тех пор, пока не будет введено отрицательное число.
5. Напишите программу, которая принимает целое число и печатает
указанный диапазон, к которому это число принадлежит.
Диапазон 1: от 0 до 10
Диапазон 2: от 11 до 20
Диапазон 3: от 21 до 30
Диапазон 4: от 31 до 40

Работа с файлами
Поскольку память компьютера (ОЗУ) является энергозависимой, все
сохраненные данные теряются при отключении питания. Поэтому
любые данные, которые необходимо хранить постоянно, следует
сохранять в файле.
Файл — это именованное место на диске, которое используется для
хранения данных. Каждый файл идентифицируется именем файла.
Python содержит встроенные функции для чтения данных из файлов, а
также создания и записи файлов.
Для этого раздела посмотрите демонстрационные видео
elluminetpress.com/pyfiles

Вам также понадобятся исходные файлы из каталога Chapter 05.

Типы файлов
Существует два типа файлов: текстовые и двоичные. По умолчанию
Python читает и записывает данные в виде текстового файла.

Текстовый файл
Текстовый файл хранит последовательности символов в формате
ASCII: обычные текстовые файлы, файлы HTML, исходный код
программы.
Используйте эти ключи при открытии файла в текстовом режиме:
• “r” открывает файл для чтения, возвращает сообщение об
ошибке, если файл не существует
• “a” открывает файл для добавления информации, создает файл,
если он не существует
• “w” открывает файл для записи, создает файл, если он не
существует
• “r+” открывает файл как для чтения, так и для записи

Двоичный файл
Двоичный файл хранит данные в виде последовательности байтов
(единиц и нулей) — в том же формате, что и память компьютера (ОЗУ).
Например, изображения, такие как JPEG или PNG, аудиофайлы, такие
как WAV или MP3, видеофайлы, такие как MP4, и исполняемые файлы
программ.
Используйте эти ключи при открытии файла в двоичном режиме:
• “rb” открывает файл для двоичного чтения, возвращает
сообщение об ошибке, если файл не существует
• “ab” открывает файл для двоичного добавления информации,
создает файл, если он не существует
• “wb” открывает файл для записи, создает файл, если он не
существует
• “rb+” открывает файл как для чтения, так и для записи

Операции с текстовыми файлами
По умолчанию Python открывает файлы как текстовые файлы.
Текстовые файлы содержат читаемые символы, как это показано в
примере ниже.

Как открыть файлы
Чтобы открыть файл, используйте функцию open( ). Эта функция
возвращает объект файла, с которым мы можем работать (в этом
примере он называется файлом).
file = open(‘data.txt’, ‘file mode’)

Когда вы открываете файл, укажите имя файла и ключ файла в
параметрах функции open().

Файловый режим сообщает интерпретатору Python, что вы собираетесь
делать с файлом, т. е. читать, записывать или добавлять информацию.
• “r” открывает файл для чтения, возвращает сообщение об

ошибке, если файл не существует
• “a” открывает файл для добавления информации, создает файл,
если он не существует
• “w” открывает файл для записи, создает файл, если он не
существует
• “r+” открывает файл как для чтения, так и для записи
Как только функция open() возвращает файловый объект, мы можем
работать с файлом, используя методы объекта, такие как .read(),
.write() или .close()

Как записать в файл
Для записи данных в файл используйте .write(). Этот метод
записывает указанный текст в файл.
file.write(“Data to write to the file...”)

При открытии файла для записи используйте либо
• “a” открывает файл для добавления, создает файл, если он не
существует. Новые данные добавляются в конец файла.
• “w” открывает файл для записи, создает файл, если он не
существует. Перезаписывает любые существующие в файле
данные.
Давайте рассмотрим программу. Откройте file.py.

Здесь мы получаем некоторую информацию от пользователя (имя
пользователя и адрес электронной почты).

Затем мы открываем файл с именем ‘data.txt’ для записи и
присваиваем его объекту с именем ‘file’.

Затем мы записываем имя пользователя и адрес электронной почты в файл,
используя метод .write для файлового объекта.

Помните, что файловый режим ‘w’ открывает файл для записи. Это также
означает, что любые новые данные перезапишут любые данные, уже
хранящиеся в файле. После завершения операций с файлом мы закрываем
наш файл.
file.close()

Чтение из файла
Чтобы прочитать данные из файла, используйте метод .read() для
чтения всего файла.
fileContent = fileName.read(

)

Используйте метод .readline() для построчного чтения.
nextLine = fileName.readline(

)

При открытии файла для чтения используйте следующие ключи
• “r” открывает файл для чтения, возвращает сообщение об
ошибке, если файл не существует
• “r+” открывает файл как для чтения, так и для записи
Давайте рассмотрим программу. Откройте файл fileread.py.

Здесь мы открываем файл с именем ‘data.txt’ и присваиваем его объекту
с именем ‘file’. Затем мы читаем данные, используя метод .read
объекта ‘file’.
Наконец мы закрываем файл.

Операции с двоичными файлами
Большая часть цифровых данных хранится в двоичных файлах,
поскольку они намного меньше и быстрее текстовых файлов.
Двоичные файлы не доступны для чтения человеком, как это
показано в примере ниже. Здесь мы открыли двоичный файл в
текстовом редакторе.

Как открыть файлы
Чтобы открыть файл, используйте функцию open().
file = open(‘data.dat’, ‘file mode’)

Когда вы открываете файл, укажите имя файла и ключ файла в
параметрах функции open().
Ключ сообщает интерпретатору Python, что вы собираетесь делать с
файлом, т. е. читать, записывать или добавлять.
• “rb” открывает файл для чтения, возвращает сообщение об
ошибке, если файл не существует
• “ab” открывает файл для добавления, создает файл, если он
не существует
• “wb” открывает файл для записи, создает файл, если он не
существует

• “rb+” открывает файл как для чтения, так и для записи
Это зависит от цели вашей программы.
Хорошей практикой является открытие файла,
необходимых операций, а затем закрытие этого файла.

выполнение

Запись в файл
Метод .write() записывает данные в текстовом формате, и если
вы попытаетесь записать данные в двоичном режиме с помощью
этого метода, вы получите сообщение об ошибке при запуске
программы.
Чтобы записать данные в двоичном формате, сначала нам нужно
преобразовать их в последовательность байтов. Мы можем сделать
это с помощью модуля pickle, используя процесс, называемый
пиклингом. Пиклинг — это процесс, при котором объекты данных,
такие как целые числа, строки, списки и словари, преобразуются в
поток байтов.

Для записи в файл используйте метод pickle.dump()
pickle.dump
to)

(data-to-be-written,

file-to-write-

Давайте посмотрим на программу. Откройте filewritebin.py. Сначала
нам нужно подключить модуль pickle. Вы можете сделать это с
помощью команды импорта.

Далее открываем файл обычным способом, только используем при
этом ключ двоичной записи (wb).
Теперь, чтобы записать данные в файл, мы выбираем объект ‘text’ с
помощью метода pickle.dump(). Наконец закрываем файл.
Вот данные, записанные в файл. В шестнадцатеричном редакторе
ниже вы можете видеть, что строка “Data that has been written to a
binary file”, была преобразована в двоичные данные.

Обратите внимание на то, что данные посередине представлены
шестнадцатеричными числами, которые часто используются для
сокращения
записи
в
двоичном
формате.
Каждое
шестнадцатеричное число в шестнадцатеричном блоке представляет
собой 1 байт.

Чтение файла
Помните, когда мы записывали данные в двоичный файл, мы
использовали процесс, называемый pickle. Что ж, для чтения данных
из файла мы используем аналогичный процесс.
Чтобы прочитать файл, используйте метод pickle.load()
pickle.load(file-to-read-from)

Давайте рассмотрим на программу. Откройте filereadbin.py. Сначала
нам нужно подключить модуль Pickle. Вы можете сделать это с
помощью команды импорта.

Когда мы запускаем программу, данные считываются из файла,
робразуются, а затем присваиваются переменной ‘data’. Теперь мы
можем вывести ‘data’ на экран.

Произвольный доступ к файлам
Когда файл открывается, интерпретатор Python выделяет указатель
внутри файла. Этот указатель определяет позицию в файле, откуда
будет происходить чтение или запись. Указатель можно переместить в
любое место файла.
Чтобы переместить указатель файла, используйте метод .seek().
file.seek(position-in-file, whence)

Первый параметр (position-in-file) определяет, на сколько байт нужно
переместиться. Положительное значение переместит указатель
вперед, отрицательное значение — назад. Позиция в файле
называется смещением.
Второй параметр (whence) определяет начальную точку в файле, он
принимает одно из трех значений:
• 0 : устанавливает начальную точку в начало файла
(используется по умолчанию)
• 1 : устанавливает начальную точку в текущую позицию
• 2 : устанавливает начальную точку в конец файла
В файле каждая позиция может содержать один байт или один символ.
Помните, система отсчета начинается с 0.
Используя наш текстовый файл в качестве примера, file.seek(5)
переместит указатель файла на 6-й байт.

file.seek(23, 0)

Это переместит указатель в позицию 23 от начала файла

Если вы хотите прочитать файл с конца, вам нужно будет считать в
обратном направлении от конца файла, это делается с помощью
отрицательного смещения. Функция seek() с отрицательным
смещением работает только тогда, когда файл открыт в двоичном
режиме.
Чтобы переместить указатель из конца файла
f.seek(-3, 2)

Используйте .decode(‘utf-8’), чтобы преобразовать двоичный
файл обратно в текст.
datafromfile = f.readline().decode(‘utf-8’)

Чтобы найти текущую позицию указателя файла в файле, используйте
метод .tell().
file.tell()

Давайте рассмотрим программу. Здесь мы начинаем чтение первой
строки файла data.txt, начиная с 6-го байта или символа.

0

fileseek.py- \\rockstore\data\Resources\P ...
File

Edit

Format

Run

Options

Window

Help

#open file for reading
file= open ('data.txt ' 1 'r')

X

0

Python 3.8.1 Shell
File

Edit

Shell

Options

Window

X

Help

Python 3.8.1 (tags/v3.8.1:1b293b6, Dec 18 2019
39:24) [HSC v.l916 32 bit (Intel)]on win
1 22:
32

"help", "copyriqh't ", "credit.s" or "licens

er to the 6th character in

e()" for more information .

>>>

#read line in file starting from
data!nFile = file.readline( )
print

============

RESTART: \\rockstore\data\Resourc
es\Python\fileseek.py ==========--=
jack@test.com

(data!nFile)

#close the file
file.close ()

0

X

like

v

<
Ln 1, Coi l 100%

>
Windows (CRLF)

UTF-8

Методы работы с файлами
Вот краткий обзор методов, доступных для файловых объектов. Вы
можете связать наименования методов, приведенные ниже, с
наименованием объекта, используя следующий синтаксис:
fileobject.method()

Здесь у нас приведены различные методы закрытия файла, а также
некоторые другие распространенные методы.
Метод

Описание

close ()

Закрывает файл

detach () Возвращает выделенный необработанный поток из буфера
fileno ()

Возвращает число, представляющее поток с точки зрения
операционной системы

flush ()

Очищает внутренний буфер

isatty () Возвращает, является ли файловый поток интерактивным или нет

Еще существуют методы чтения данных из файла. Вы можете прочитать
весь файл или строки из файла.
Метод

Описание

read ()

Возвращает содержимое файла

readable ()

Возвращает, может или нет быть прочитан файловый поток

readline ()

Возвращает из файла одну строку

readlines () Возвращает из файла список строк

Различные способы записи данных в файл. Вы можете проверить,
доступен ли файл для записи, или записать данные в файл.
Метод

Описание

writable ()

Возвращает, может или нет быть произведена запись в файл

write ()

Записывает указанную строку в файл

writelines () Записывает в файл список строк

Различные другие методы поиска позиции в файле, а также метод для
возврата текущей позиции в файле и метод для усечения файла до

определенного размера.
Метод

Описание

seek ()

Изменяет положение в файле

seekable ()

Возвращает, позволяет ли файл нам именить положение в файле

tell ()

Возвращает текущее положение в файле

truncate ()

Изменяет размер файла до заданного значения

Лабораторная работа
Взгляните на следующие упражнения и используйте полученные знания
для решения задач.
1. Напишите программу, которая получает строку от пользователя и
записывает ее в файл вместе с именем пользователя.
2. Измените программу из упражнения 1 так, чтобы она добавляла
данные в файл, а не перезаписывала их.
3. Напишите программу для записи списка имен в файл.
4. Напишите программу для чтения файла построчно и сохранения его в
списке.
5. В чем разница между текстовым файлом и двоичным файлом?

Использование функций
Функции помогают разбить программу на более мелкие фрагменты. Это
позволяет избежать повторения кода, что делает более крупные
программы более эффективными и простыми в обслуживании.
Для этого раздела посмотрите демонстрационные видео
elluminetpress.com/pyfunctions

Вам также понадобятся исходные файлы из каталога Chapter 06.

Что такое функции
Функция — это блок кода, который выполняется только при его вызове.
Python поставляется с библиотекой функций для выполнения широкого
спектра задач. Это так называемые встроенные функции. Например:
print ()
input ()
open ()

Вы также можете создавать свои собственные функции. Эти функции
называются пользовательскими функциями. Например:
def functionName (parameters):


Функция принимает параметры или аргументы, заключенные в круглые
скобки, и возвращает результат. Кажется, что большинство людей
используют оба этих термина как синонимы, но это не одно и то же.
• Параметр – это переменная в определении функции.
• Аргумент – это значение, передаваемое во время вызова
функции.
Например, в следующем коде. Определение функции
принимает два параметра ‘firstnum’ и ‘secondnum’.

‘addnum’

В строке внизу мы вызываем функцию ‘addnum’ и передаем ей два
аргумента ‘a’ и ‘b’.

Встроенные функции
Python имеет различные встроенные функции. Вот некоторые из
наиболее распространенных из них.
Функция

Описание

Пример

abs()

Возвращает абсолютное значение числа abs(val)

bin()

Возвращает двоичную версию числа

bin(val)

bool()

Возвращает логическое значение
указанного объекта

bool(val)

bytearray() Возвращает массив байтов

bytearray(val)

bytes()

Возвращает байтовый объект

bytes(val)

chr()

Возвращает символ из указанного
Юникода

chr(65)

dict()

Возвращает словарь (массив)

diet(id = "A34",name =
"USA")

divmod()
filter()

Возвращает частное и остаток при
делении аргумента на аргумент
Используйте функцию фильтра, чтобы
исключить элементы из итерируемого
объекта

divmod(17, 3)
filter (function, itemto-be-filtered)

float()

Возвращает число с плавающей запятой

format()

Форматирует указанное значение
Замените слово «формат» на
'b' - двоичный формат
'd' - десятичный формат
'e' — научный формат, с маленькой
буквой e.
'E' — научный формат, с заглавной
буквой E.
'f - формат номера фиксированной точки
format(value, format)
'F' — формат номера фиксированной
точки, верхний регистр.
'o' - восьмеричный формат
'x' — шестнадцатеричный формат,
строчные буквы.
'X' — шестнадцатеричный формат,
верхний регистр.
'n' — числовой формат
'%' - процентный формат

float(val)

help()
hex()

Запускает встроенную справочную
систему
Преобразует число в шестнадцатеричное
hex(val)
значение

input()

Обеспечивает пользовательский ввод

val=input ( 'enter../ )

int()

Возвращает целое число

int(val)

len()

Возвращает длину объекта

len(list)

list()

Возвращает список

list (vals)

max()

Возвращает наибольший элемент

max(2,43)

min()

Возвращает наименьший элемент

min (2,43)

оct()

Преобразует число в восьмеричное

oct(val)

open()

Открывает файл и возвращает файловый
open("file", "mode")
объект

pow()

Возвращает значение x в степени у

print()
range()

Печатает на стандартном устройстве
вывода
Возвращает последовательность чисел,
начиная с 0 и увеличивая ее на 1 (по
умолчанию)

pow(2, 3)
print(val to print)
range(start, stop, incr)

round()

Округляет число

set()

Возвращает новый заданный объект

slice()

Возвращает объект в виде фрагмента

slice(start , end , step)

sorted()

Возвращает отсортированный список

sorted (iterable, key,
reverse)

str()

Возвращает объект в виде строки

str(object, encoding)

sum()

Суммирует элементы итератора

sum(vals)

super()

Возвращает объект, представляющий
родительский класс

super ()

round(number, digits)

init ()

Пользовательские функции
Вы можете объявить новую функцию, используя ключевое слово def, за
которым следует имя функции.
def functionName(parameters):
code to be executed in function

Если функция принимает параметры, вы можете включить их в круглые
скобки рядом с наименованием функции.
Например, если бы мы написали функцию для сложения двух чисел,
мы могли бы написать что-то вроде этого:
def addNum(num_1, num_2):
return num_1 + num_2

Эта функция принимает два числа в качестве параметров ‘num1’ и
‘num2’, складывает их и возвращает результат.

Вы можете вызвать функцию следующим образом с аргументами 6 и 5 в
скобках:
result =

addNum(6,

5)

Для небольших программ вы можете объявить свои функции в одном и
том же файле - обычно вверху, но по мере того, как программы
становятся больше и сложнее, вам следует объявить свои функции в
отдельном файле, а затем включить этот файл в свой основной скрипт.
Это позволяет вам модульизировать и повторно использовать код —
это хорошая практика программирования для более крупных проектов.
Мы можем объявить нашу функцию addNum в файле myfunctions.py и
включить ее в файл functionmain.py. Это называется модулем
(подробнее о модулях см. в Главе 7). Чтобы включить функции в другой
скрипт, используйте ключевое слово import.
import myfunctions

Давайте рассмотрим программу. Откройте файл function.py. Здесь, в
верхней части скрипта, мы определили простую функцию для сложения
двух чисел.

В нижней части скрипта мы вызываем нашу функцию addNum и
передаем два значения в качестве аргументов (4, 4). Мы используем
ключевое слово return для возврата результата.

Результат, возвращаемый функцией, затем присваивается переменной
‘result’. Наконец, мы выводим на экран содержимое переменной ‘result’
и видим, что происходит.

Область видимости
Часть программы, где доступна переменная, называется ее областью
видимости. В этом разделе мы рассмотрим локальную и глобальную
область видимости.
Если переменная доступна только внутри области, в которой она
создана (например, переменная, созданная внутри функции), то она
принадлежит локальной области видимости этой функции и может
использоваться только внутри этой функции. Это называется
локальной областью видимости.

Переменная, созданная в основной части кода Python, является
глобальной переменной и принадлежит глобальной области видимости.
Глобальные переменные доступны из любой области, глобальной и
локальной.

Период, в течение которого переменная существует в памяти,
называется ее временем существования. Переменные, определенные
внутри функции, существуют только во время выполнения функции.
Как только функция возвращается, переменные внутри функции
уничтожаются.

Рекурсия
Рекурсивная функция — это функция, которая может вызывать сама
себя. Это позволяет функции повторяться несколько раз.
Откройте файл recursion1.py. Здесь у нас есть рекурсивная функция,
которая вычисляет факториал числа. Помните, что для вычисления
факториала необходимо перемножить все числа от 1 до заданного
числа.

def factorial(n):
if n