Главная страница
Медицина
Экономика
Финансы
Биология
Ветеринария
Сельское хозяйство
Юриспруденция
Право
Языкознание
Языки
Логика
Этика
Философия
Религия
Политология
Социология
Физика
История
Информатика
Искусство
Культура
Энергетика
Промышленность
Математика
Вычислительная техника
Химия
Связь
Электротехника
Автоматика
Экология
Геология
Начальные классы
Механика
Строительство
Доп
образование
Воспитательная работа
Русский язык и литература
Другое
Классному руководителю
Дошкольное образование
Казахский язык и лит
Физкультура
Технология
География
Школьному психологу
Иностранные языки
Директору, завучу
Астрономия
Музыка
ОБЖ
Обществознание
Социальному педагогу
Логопедия

Python_самоучитель. Ревизия 226 Содержание


НазваниеРевизия 226 Содержание
АнкорPython_самоучитель.pdf
Дата28.01.2017
Размер0.8 Mb.
Формат файлаpdf
Имя файлаPython_самоучитель.pdf
ТипРеферат
#399
страница1 из 13
  1   2   3   4   5   6   7   8   9   ...   13

Чаплыгин А. Н.
Учимся программировать вместе с
Питоном
(Start with Python)
Revision: 226

Ревизия: 226
Содержание
Содержание
Содержание........................................................................................................................................2
Предисловие......................................................................................................................................5
Благодарности...................................................................................................................................6
Введение.............................................................................................................................................7
§1. Базовые знания.........................................................................................................................8
§2. Где достать интерпретатор языка Питон?.............................................................................8
§3. Среда разработки.....................................................................................................................8
§4. Запуск программ, написанных на Питоне.............................................................................9
§4.1. В UNIX-подобных ОС.....................................................................................................9
§4.2. В ОС Windows................................................................................................................10
Глава 1. Базовые понятия.............................................................................................................11
§1.1. Алгоритмы и программы...................................................................................................11
§1.2. Языки программирования и уровни абстракции.............................................................11
§1.3. Формальные и естественные языки..................................................................................13
§1.4. Интерпретаторы и компиляторы.......................................................................................15
§1.5. Первая программа...............................................................................................................16
§1.6. Что такое отладка?..............................................................................................................17
§1.6.1. Синтаксические ошибки (syntax errors)....................................................................17
§1.6.2. Ошибки выполнения (runtime errors)........................................................................18
§1.6.3. Семантические ошибки (semantic errors)..................................................................18
§1.6.4. Процесс отладки..........................................................................................................18
Глава 2. Переменные, операции и выражения.........................................................................20
§2.1. Значения и типы..................................................................................................................20
§2.2. Преобразование типов........................................................................................................21
§2.3. Переменные.........................................................................................................................22
§2.4. Имена переменных и ключевые слова..............................................................................23
§2.5. Выражения...........................................................................................................................25
§2.6. Выполнение выражений.....................................................................................................25
§2.7. Операторы и операнды.......................................................................................................27
§2.8. Порядок операций...............................................................................................................28
§2.9. Простейшие операции над строками................................................................................28
§2.10. Композиция.......................................................................................................................29
Глава 3. Функции...........................................................................................................................31
§3.1. Подпрограммы....................................................................................................................31
§3.2. Вызовы функций.................................................................................................................31
§3.3. Справочная система............................................................................................................32
§3.4. Импорт модулей и математические функции..................................................................33
§3.5. Композиция.........................................................................................................................35
§3.6. Создание функций..............................................................................................................35
§3.7. Параметры и аргументы.....................................................................................................37
§3.8. Локальные переменные......................................................................................................38
§3.9. Поток выполнения..............................................................................................................40
§3.10. Стековые диаграммы........................................................................................................42
§3.11. Функции, возвращающие результат...............................................................................43
Глава 4. Компьютерная графика................................................................................................45
Глава 5. Логические выражения, условия и рекурсия...........................................................46
§5.1. Комментарии в программах...............................................................................................46
§5.2. Простые логические выражения и логический тип данных...........................................47 2

Ревизия: 226
Содержание
§5.3. Логические операторы.......................................................................................................48
§5.4. Выполнение по условию и «пустота»...............................................................................49
§5.5. Ввод данных с клавиатуры................................................................................................51
§5.6. Альтернативные ветки программы (Chained conditionals)..............................................52
§5.7. Пустые блоки.......................................................................................................................53
§5.8. Вложенные условные операторы (Nested conditionals)...................................................54
§5.9. Рекурсия...............................................................................................................................55
§5.10. Стековые диаграммы рекурсивных вызовов..................................................................57
§5.11. Максимальная глубина рекурсии....................................................................................58
§5.12. Числа Фибоначчи..............................................................................................................59
Глава 6. Циклы...............................................................................................................................61
§6.1. Оператор цикла while.........................................................................................................61
§6.2. Счетчики..............................................................................................................................62
§6.3. Бесконечные циклы............................................................................................................63
§6.4. Альтернативная ветка цикла while....................................................................................64
§6.5. Табулирование функций....................................................................................................64
§6.6. Специальные и экранируемые символы...........................................................................66
§6.7. Числа Фибоначчи и оператор цикла while.......................................................................69
§6.8. Вложенные операторы цикла и двумерные таблицы......................................................70
§6.9. Классификация операторов цикла....................................................................................71
§6.10. Управляющие структуры.................................................................................................72
Глава 7. Строки..............................................................................................................................73
§7.1. Оператор индексирования.................................................................................................73
§7.2. Длина строки и отрицательные индексы.........................................................................73
§7.3. Перебор и цикл for..............................................................................................................74
§7.4. Срезы строк.........................................................................................................................75
§7.5. Сравнение строк..................................................................................................................76
§7.6. Строки нельзя изменить.....................................................................................................77
§7.7. Функция find........................................................................................................................77
§7.8. Циклы и счётчики...............................................................................................................78
§7.9. Модуль string.......................................................................................................................78
§7.10. Классификация символов................................................................................................79
§7.11. Строки unicode..................................................................................................................80
Глава 8. Списки..............................................................................................................................81
§8.1. Создание списков................................................................................................................81
§8.2. Списки и индексы...............................................................................................................82
§8.3. Длина списка.......................................................................................................................83
§8.4. Принадлежность списку.....................................................................................................83
§8.5. Списки и цикл for...............................................................................................................84
§8.6. Операции над списками.....................................................................................................85
§8.7. Изменение списков.............................................................................................................85
§8.8. Удаление элементов списка...............................................................................................86
§8.9. Объекты и значения............................................................................................................86
§8.10. Ссылки на объекты...........................................................................................................87
§8.11. Копирование списков.......................................................................................................88
§8.12. Списки-параметры............................................................................................................88
§8.13. Вложенные списки............................................................................................................88
§8.14. Матрицы............................................................................................................................89
§8.15. Списки и строки................................................................................................................89
Глава 9. Кортежи............................................................................................................................91
3

Ревизия: 226
Содержание
§9.1. Понятие кортежа.................................................................................................................91
§9.2. Применение кортежи..........................................................................................................92
§9.3. Кортежи и возвращаемые значения..................................................................................92
§9.4. Случайные числа.................................................................................................................93
§9.5. Список случайных величин...............................................................................................94
§9.6. Паттерны программирования............................................................................................94
§9.7. Анализ выборки..................................................................................................................95
§9.8. Более эффективное решение..............................................................................................97
Глава 10. Словари..........................................................................................................................99
§10.1. Создание словаря..............................................................................................................99
§10.2. Операции над словарями.................................................................................................99
§10.3. Методы словарей............................................................................................................100
§10.4. Использование псевдонимов и копирование...............................................................101
§10.5. Разряженные матрицы....................................................................................................101
§10.6. Подсказки........................................................................................................................103
§10.7. Тип «длинное целое число»...........................................................................................104
§10.8. Подсчет букв...................................................................................................................104
Глава 11. Файлы и обработка исключений.............................................................................106
Глава 12. Классы и объекты.......................................................................................................107
Глава 13. Классы и функции......................................................................................................108
Глава 14. Методы.........................................................................................................................109
Глава 15. Наборы объектов........................................................................................................110
Глава 16. Наследование...............................................................................................................111
Глава 17. Связные списки..........................................................................................................112
Глава 18. Стеки.............................................................................................................................113
Глава 19. Очереди и очереди с приоритетами........................................................................114
Глава 20. Деревья.........................................................................................................................115
Глава 21. Функциональное программирование.....................................................................116
Заключение. С высоты птичьего полета.................................................................................117
Приложение A. Советы по отладке программ........................................................................118
Приложение B. Создание и использование модулей.............................................................119
Приложение C. Создание типов данных..................................................................................120
Приложение D. Написание программ с графическим интерфейсом.................................121
Приложение E. Методологии командной разработки...........................................................122
Приложение F. Методические указания преподавателям...................................................123
4

Ревизия: 226
Предисловие
Предисловие
Книга получилась немного сложнее, чем планировалось: в целом она соответствует уровню старших классов и начальных курсов ВУЗов, но и младшеклассники при поддержке преподавателя тоже смогут без особого труда освоить материал книги.
Данная книга распространяется по лицензии OPL (
http://www.opencontent.org/openpub/
) с ограничением VI-B. Это означает, что текст данной книги может использоваться свободно в любых целях, за исключением коммерческих.
Разумеется, некоммерческие копии должны распространяться вместе с лицензией и без изменения авторства книги. В остальном Вам предоставляется полная свобода.
Take it. Use it. :)
5

Ревизия: 226
Благодарности
Благодарности
Данная книга распространяется так же свободно, как и устная речь. Поэтому она так же свободно развивается, без ограничений какими-либо лицензиями, кроме OPL. Эта книга появилась во многом благодаря вкладу людей, перечисленных в данном списке:

Шляков Дмитрий

Бельченко Александр

Рудских Вячеслав

Школьников Дмитрий

Волошин Евгений

Бречалов Дмитрий

Откидач Денис

Ситников Илья

Олищук Андрей

Чуранов Михаил

Пушилин Сергей

Литвинова Елена

Липанин Антон

Жуков Борис
Большое спасибо энтузиастам движения свободного программного обеспечения
(
http://opensource.org/
), живущим по всему миру, за то, что они делают.
Отдельная благодарность проектной команде открытого офисного пакета
OpenOffice.org (
http://OpenOffice.org/
, http://OpenOffice.ru/
) за хороший продукт, в котором и была написана эта книга.
6

Ревизия: 226
Введение
Введение
В школе учительница спрашивает учеников, кем
работают их родители. Руку тянет девочка:
– У меня папа доктор.
– Это хорошая профессия, – говорит учительница.
– А у меня папа водитель, – хвастается один из
мальчишек.
– Какая интересная профессия. А чем твой папа
занимается? – спрашивает учительница Вовочку, на
что тот невозмутимо отвечает:
– Он в борделе на пианино играет.
Учительница в шоке; в тот же день она идет к
Вовочке домой и возмущенно говорит отцу:
– Как вы можете в таких условиях воспитывать
ребенка?! Вы действительно играете на пианино в
борделе?!
Папа Вовочки смущенно:
– Видите ли, я программист. Специализируюсь на
сетях TCP/IP, пишу распределенные сетевые
приложения для операционных систем UNIX, но как
это объяснить семилетнему мальчугану?
Профессия программиста (да и любого другого компьютерного специалиста) со стороны, быть может, выглядит несколько загадочно. «Чем эти люди занимаются? Сидят целыми днями у компьютера и рассказывают друг другу странные анекдоты» – еще недавно так рассуждало большинство. Но на сегодняшний день информационные технологии проникли практически во все сферы деятельности человека: от таких уже привычных вещей, как мобильные телефоны, до космических технологий. Компьютеры упрощают работу с документами и помогают оптимизировать бизнес-процессы. Благодаря ничем не приметным людям, просиживающим за компьютером ночи напролет, мы можем общаться в реальном времени с друзьями и бизнес-партнерами, находящимися в любой точке мира с помощью интернета. Дзен-буддисты говорят: «Работы мастера не видно».
Данная книга ставит целью научить не просто писать программы, но и думать как компьютерный специалист. Подобный способ мышления сочетает в себе подходы, используемые в математике, естественных науках и инженерном деле. Подобно математикам, компьютерные специалисты используют формальные языки для записи идей, алгоритмов и операций над специфическими объектами. Подобно инженерам, они проектируют объекты, собирая различные компоненты в системы, и выбирают решения из возможных альтернатив. Подобно естествоиспытателям, они изучают поведение комплексных систем, строят гипотезы, ставят эксперименты.
Отдельный наиболее важный навык компьютерного специалиста – умение решать задачи. Этот навык подразумевает способность их формулировать, творчески подходить к поиску возможных решений и четко излагать выбранный вариант. Как оказывается, процесс обучения программированию является прекрасной возможностью выработать все эти умения.
Итак, приступим. Подробное описание процесса установки интерпретатора Питона и всего, что вам потребуется для работы с книгой, можно прочесть в следующем разделе.
Рекомендуется ознакомиться с ним прежде, чем переходить к изучению первой главы, чтобы
7

Ревизия: 226
Введение
у вас не возникало проблем в процессе освоения материала книги. Но не забывайте, что главное – это желание учиться, умение задавать вопросы и искать на них ответы.
§1. Базовые знания
Для того, чтобы освоить материал данной книги, от вас потребуются базовые навыки работы с компьютером, а именно:

Работа с файлами и папками (директориями);

Запуск программ;

Редактирование текстовых файлов;

Если у вас на компьютере установлена UNIX-система, то будет очень полезно уметь работать в консоли;

Работа в интернете – там можно найти много полезной информации;

Очень пригодится хотя бы базовое знание английского языка.
Имейте ввиду, что офисные пакеты (MS Office, OpenOffice.org, StarOffice и им подобные) в программировании вам не помогут. Программы набираются в простых текстовых редакторах типа MS Notepad (он же Блокнот).
Хорошо, если вы знаете, что такое двоичный код и умеете переводить числа из одной системы счисления в другую, всему этому обычно учат в школьных курсах информатики.
Неважно, какая операционная система установлена у вас на компьютере – Питон имеет реализации под все самые распространенные платформы: Windows, UNIX (GNU/Linux,
FreeBSD и др.) и даже для Mac OS X. Более того, программы, написанные в одной операционной системе, будут успешно выполняться в любой другой при наличии установленного интерпретатора Питона!
Питон входит в комплект поставки большинства дистрибутивов GNU/Linux, но не факт, что это последняя версия. Поэтому стоит все-таки заглянуть на страницу Питона и ознакомиться с новостями. Питон, как и большинство проектов сообщества open source, развивается очень динамично.
Все примеры в данной книге проверены в интерпретаторе Питона версии 2.4.3.
§2. Где достать интерпретатор языка Питон?
Интерпретатор языка Питон распространяется свободно на основании лицензии Python
Software Foundation (PSF) Licence (
http://www.python.org/psf/license/
), которая, в некотором роде, даже более демократична, чем GNU GPL (GNU General Public License: http://gnu.org/copyleft/
). Официальный сайт проекта языка Питон располагается по адресу http://python.org/
. Здесь же в разделе «Downloads» можно скачать свежую версию для вашей операционной системы.
Процесс установки интерпретатора зависит от того, какой операционной системой Вы пользуетесь. Будем считать, что вы в состоянии установить Питон самостоятельно. При возникновении проблем задавайте вопросы своим более опытным товарищам или на форумах в интернете.
§3. Среда разработки
В стандартный комплект поставки Питона входит интегрированная среда разработки
IDLE, в которой редактировать программы будет намного удобнее, чем в простом текстовом редакторе. IDLE написан на Питоне с использованием платформонезависимой библиотеки
8

Ревизия: 226
Введение
Tcl, поэтому легко запускается в любой операционной системе, для которой существует реализация Питона. IDLE также имеет встроенную систему отладки, позволяющую запускать программу построчно, что облегчает процесс поиска ошибок. Если по какой-то причине
IDLE вас не устраивает, то можете попробовать другие среды разработки.
В UNIX-системах есть множество редакторов, имеющих свои прелести и недостатки, как консольные (vi, emacs, встроенный редактор mc), так и графические (vim, emacs, kate, редактор IDLE и др.).
Для начала самым простым выбором может стать Kate – он входит в комплект поставки оконной среды KDE последних версий. Kate поддерживает множество кодировок, умеет подсвечивать синтаксические конструкции программы, имеет встроенный эмулятор консоли и специальный модуль, облегчающий работу с программами, написанными на Питоне: браузер кода, который включается через меню «Настройка» в разделе «Приложение 
Модули».
На сайте языка Питон есть страница со списком сред разработки, которые вам могут подойти: http://wiki.python.org/moin/IntegratedDevelopmentEnvironments
. При выборе среды разработки стоит обращать внимание на следующие вещи:
1. Поддержка кодировки UTF-8 2. Подсветка синтаксиса
3. Способность текстового редактора проставлять автоотступы
Это тот минимум, который нам понадобится на первых порах. В последствии, общаясь с более опытными программистами, вы, наверняка, сможете выбрать что-то более удобное и мощное, но этот выбор будет уже осознанным.
И, наконец, для запуска программ в Windows очень пригодится файловый менеджер
FAR – из него гораздо удобнее запускать консольные программы, чем из стандартного окна командного интерпретатора Windows. В ОС Windows FAR, пожалуй, является наиболее подходящей средой для запуска программ на Питоне.
§4. Запуск программ, написанных на Питоне
§4.1. В UNIX-подобных ОС
Для того, чтобы запустить программу, написанную на Питоне, в UNIX-системах необходимо вызвать интерпретатор Питона и передать ему в качестве параметра название файла, в котором находится запускаемая программа:
$ python my_program.py
Кроме того, в операционных системах UNIX есть возможность в программе указать, какой интерпретатор необходимо вызвать для ее выполнения. Для этого в первой строке программы нужно написать:
#! /usr/bin/env python
Затем нужно сделать файл со скриптом исполняемым:
$ chmod u+x my_program.py
После этого скрипт можно будет выполнять, просто набрав в командной строке его имя:
$ my_program.py
9

Ревизия: 226
Введение
или, если первый вариант не работает:
$ ./my_program.py
Последовательность символов
#!
программисты обычно читают как «she-bang!».
§4.2. В ОС Windows
В Windows программы, написанные на Питоне запускаются привычным способом – найдите при помощи Проводника файл, содержащий программу, и дважды щелкните на его иконке левой кнопкой мыши. Питон при установке связывает расширение файла
.py с интерпретатором Питона, поэтому при двойном щелчке на таком файле будет запущен
Питон, который выполнит программу, записанную в файле. Если Ваша программа не имеет графического интерфейса, то результаты работы программы будут выводиться в консольное окно. После завершения работы программы это окно будет сразу же закрыто, поэтому вы можете не успеть увидеть результат ее работы. Избежать этого можно, добавив в конце программы следующую строку:
raw_input("Press any key to exit")
Это заставит интерпретатор дождаться нажатия клавиши
[Enter]
, прежде чем завершить программу.
Если же вы задали другое расширение, то метод запуска двойным щелчком не сработает. В Windows питон-программы всегда должны иметь расширение
.py или
.pyw
Расширение
.pyw используется для программ, использующих графический интерфейс. Для интерпретации таких программ используется оконный вариант интерпретатора Питона.
Другой вариант – это открыть окно командного интерпретатора (или запустить FAR) и выполнить следующую команду:
C:\Examples> python my_program.py
Этой командой мы запускаем интерпретатор Питона и указываем ему, программу из какого файла он должен выполнить.
Теперь мы во всеоружии и готовы приступить к изучению программирования на языке
Питон. Переходим к следующей главе, в которой рассматриваются базовые понятия.
10

Ревизия: 226
  1   2   3   4   5   6   7   8   9   ...   13
написать администратору сайта