- •Описание
- •Разжигая ваш аппетит
- •Использование интерпретатора Python
- •Запуск интерпретатора
- •Передача параметров
- •Интерактивный режим
- •Интерпретатор и его окружение
- •Обработка ошибок
- •Исполняемые сценарии на Python
- •Кодировка исходных файлов
- •Интерактивный файл запуска
- •Неформальное введение в Python
- •Использование Python в качестве калькулятора
- •Числа
- •Строки
- •О Unicode
- •Списки
- •Первые шаги к программированию
- •Больше средств для управления потоком команд[14]
- •Оператор if
- •Оператор for
- •Функция range()
- •Операторы break и continue, а также условие else в циклах
- •Оператор pass
- •Определение функций
- •Подробнее об определении функций
- •Значения аргументов по умолчанию
- •Именованные параметры [19]
- •Списки параметров произвольной длины
- •Распаковка списков параметров
- •Модель lambda
- •Строки документации
- •Интермеццо: Стиль написания кода
- •Структуры данных
- •Подробнее о списках
- •Использование списка в качестве стека
- •Использование списка в качестве очереди
- •Списковые сборки[33]
- •Вложенные списковые сборки
- •Оператор del
- •Кортежи и последовательности
- •Множества
- •Словари
- •Организация циклов
- •Подробнее об условиях
- •Сравнение последовательностей и других типов
- •Модули
- •Подробнее о модулях
- •Выполнение модулей в качестве сценариев
- •Путь поиска модулей
- •„Скомпилированные“ файлы Python
- •Стандартные модули
- •Функция dir()
- •Пакеты
- •Импорт * из пакета
- •Ссылки внутри пакета
- •Пакеты в нескольких каталогах
- •Ввод и вывод
- •Удобное форматирование вывода
- •Форматирование строк в старом стиле
- •Запись и чтение файлов
- •Методы объектов-файлов
- •Модуль pickle
- •Ошибки и исключения
- •Синтаксические ошибки
- •Исключения
- •Обработка исключений
- •Порождение исключений
- •Исключения, определённые пользователем
- •Определение действий при подчистке
- •Предопределённые действия по подчистке
- •Классы
- •Пара слов о терминологии
- •Области видимости и пространства имён в Python
- •Пример по областям видимости и пространствам имён
- •Первый взгляд на классы
- •Синтаксис определения класса
- •Объекты-классы
- •Объекты-экземпляры
- •Объекты-методы
- •Различные замечания
- •Наследование
- •Множественное наследование
- •Приватные переменные
- •Всякая всячина
- •Исключения — тоже классы
- •Итераторы
- •Генераторы
- •Выражения-генераторы
- •Краткий обзор стандартной библиотеки
- •Взаимодействие с операционной системой
- •Wildcard-шаблоны для имён файлов
- •Аргументы командной строки
- •Стандартный вывод. Завершение сценария
- •Сравнение строк по шаблонам
- •Математические функции
- •Протоколы интернет
- •Дата и время
- •Сжатие данных и архивы
- •Измерение производительности
- •Контроль качества
- •«Батарейки в комплекте»
- •Второй краткий обзор стандартной библиотеки
- •Форматирование вывода
- •Работа с шаблонами
- •Работа с записями двоичных данных
- •Многопоточность
- •Запись в журнал
- •Слабые ссылки
- •Работа со списками
- •Десятичная арифметика чисел с плавающей запятой
- •Что дальше?
Учебник Python 3.1
Материал из Викиучебника
Учебник Python 3.1: Материал из Викиучебника. |
|
Оглавление. |
|
Описание.................................................................................................................................... |
5 |
Разжигая ваш аппетит.................................................................................................................... |
5 |
Использование интерпретатора Python........................................................................................ |
7 |
Запуск интерпретатора............................................................................................................. |
7 |
Передача параметров........................................................................................................... |
8 |
Интерактивный режим......................................................................................................... |
8 |
Интерпретатор и его окружение.............................................................................................. |
9 |
Обработка ошибок................................................................................................................ |
9 |
Исполняемые сценарии на Python...................................................................................... |
9 |
Кодировка исходных файлов............................................................................................. |
10 |
Интерактивный файл запуска............................................................................................ |
10 |
Неформальное введение в Python............................................................................................... |
11 |
Использование Python в качестве калькулятора................................................................... |
11 |
Числа.................................................................................................................................... |
11 |
Строки................................................................................................................................. |
14 |
О Unicode............................................................................................................................. |
17 |
Списки................................................................................................................................. |
18 |
Первые шаги к программированию...................................................................................... |
19 |
Больше средств для управления потоком команд[14].............................................................. |
20 |
Оператор if............................................................................................................................... |
20 |
Оператор for............................................................................................................................. |
21 |
Функция range()....................................................................................................................... |
21 |
Операторы break и continue, а также условие else в циклах................................................ |
22 |
Оператор pass........................................................................................................................... |
23 |
Определение функций............................................................................................................ |
23 |
Подробнее об определении функций.................................................................................... |
25 |
Значения аргументов по умолчанию................................................................................ |
25 |
Именованные параметры [19]........................................................................................... |
26 |
Списки параметров произвольной длины........................................................................ |
28 |
Распаковка списков параметров........................................................................................ |
28 |
Модель lambda.................................................................................................................... |
28 |
Строки документации........................................................................................................ |
29 |
Интермеццо: Стиль написания кода...................................................................................... |
29 |
Структуры данных....................................................................................................................... |
30 |
Подробнее о списках............................................................................................................... |
30 |
Использование списка в качестве стека........................................................................... |
31 |
Использование списка в качестве очереди....................................................................... |
32 |
Списковые сборки[33]........................................................................................................ |
32 |
Вложенные списковые сборки.......................................................................................... |
33 |
Оператор del............................................................................................................................. |
34 |
Кортежи и последовательности............................................................................................. |
34 |
Множества............................................................................................................................... |
35 |
Словари.................................................................................................................................... |
36 |
Организация циклов................................................................................................................ |
37 |
Подробнее об условиях.......................................................................................................... |
38 |
Сравнение последовательностей и других типов................................................................ |
39 |
2
Учебник Python 3.1: Материал из Викиучебника. |
|
Модули.......................................................................................................................................... |
40 |
Подробнее о модулях.............................................................................................................. |
41 |
Выполнение модулей в качестве сценариев..................................................................... |
41 |
Путь поиска модулей.......................................................................................................... |
42 |
„Скомпилированные“ файлы Python................................................................................ |
42 |
Стандартные модули............................................................................................................... |
43 |
Функция dir()........................................................................................................................... |
44 |
Пакеты...................................................................................................................................... |
45 |
Импорт * из пакета............................................................................................................. |
46 |
Ссылки внутри пакета........................................................................................................ |
47 |
Пакеты в нескольких каталогах........................................................................................ |
48 |
Ввод и вывод................................................................................................................................ |
48 |
Удобное форматирование вывода.......................................................................................... |
48 |
Форматирование строк в старом стиле............................................................................. |
51 |
Запись и чтение файлов.......................................................................................................... |
51 |
Методы объектов-файлов.................................................................................................. |
51 |
Модуль pickle...................................................................................................................... |
53 |
Ошибки и исключения................................................................................................................ |
54 |
Синтаксические ошибки......................................................................................................... |
54 |
Исключения............................................................................................................................. |
55 |
Обработка исключений........................................................................................................... |
55 |
Порождение исключений....................................................................................................... |
57 |
Исключения, определённые пользователем......................................................................... |
58 |
Определение действий при подчистке.................................................................................. |
59 |
Предопределённые действия по подчистке.......................................................................... |
60 |
Классы........................................................................................................................................... |
60 |
Пара слов о терминологии..................................................................................................... |
61 |
Области видимости и пространства имён в Python............................................................. |
61 |
Пример по областям видимости и пространствам имён..................................................... |
63 |
Первый взгляд на классы........................................................................................................ |
64 |
Синтаксис определения класса......................................................................................... |
64 |
Объекты-классы.................................................................................................................. |
65 |
Объекты-экземпляры......................................................................................................... |
65 |
Объекты-методы................................................................................................................. |
66 |
Различные замечания.............................................................................................................. |
67 |
Наследование........................................................................................................................... |
68 |
Множественное наследование.......................................................................................... |
69 |
Приватные переменные.......................................................................................................... |
70 |
Всякая всячина........................................................................................................................ |
71 |
Исключения — тоже классы.................................................................................................. |
71 |
Итераторы................................................................................................................................ |
72 |
Генераторы............................................................................................................................... |
73 |
Выражения-генераторы.......................................................................................................... |
74 |
Краткий обзор стандартной библиотеки................................................................................... |
74 |
Взаимодействие с операционной системой.......................................................................... |
74 |
Wildcard-шаблоны для имён файлов..................................................................................... |
75 |
Аргументы командной строки............................................................................................... |
75 |
Стандартный вывод. Завершение сценария.......................................................................... |
75 |
3
Учебник Python 3.1: Материал из Викиучебника. |
|
Сравнение строк по шаблонам............................................................................................... |
75 |
Математические функции...................................................................................................... |
75 |
Протоколы интернет............................................................................................................... |
76 |
Дата и время............................................................................................................................. |
76 |
Сжатие данных и архивы........................................................................................................ |
77 |
Измерение производительности............................................................................................ |
77 |
Контроль качества................................................................................................................... |
77 |
«Батарейки в комплекте»........................................................................................................ |
78 |
Второй краткий обзор стандартной библиотеки....................................................................... |
78 |
Форматирование вывода......................................................................................................... |
78 |
Работа с шаблонами................................................................................................................ |
79 |
Работа с записями двоичных данных.................................................................................... |
80 |
Многопоточность.................................................................................................................... |
80 |
Запись в журнал...................................................................................................................... |
81 |
Слабые ссылки........................................................................................................................ |
82 |
Работа со списками................................................................................................................. |
82 |
Десятичная арифметика чисел с плавающей запятой......................................................... |
83 |
Что дальше?.................................................................................................................................. |
84 |
4
Учебник Python 3.1: Материал из Викиучебника.
Описание
Python — мощный и простой для изучения язык программирования. В нём предоставлены проработанные высокоуровневые структуры данных и простой, но эффективный подход к объектно-ориентированному программированию. Сочетание изящного синтаксиса и динамической типизации, совмещённых с интерпретируемой сущностью, делает Python идеальным языком для написания сценариев и ускоренной разработки приложений в различных сферах и на большинстве платформ.
Интерпретатор Python и разрастающаяся стандартная библиотека находятся в свободном доступе в виде исходников и бинарных файлов для всех основных платформ на официальном сайте Python http://www.python.org и могут распространяться без ограничений. Кроме этого на сайте содержатся дистрибутивы и ссылки на многочисленные модули третьих сторон для языка Python, различные программы и инструменты, а также дополнительная документация.
Интерпретатор Python может быть легко расширен с помощью новых функций и типов данных, написанных на C/C++ (или других языков, к которым можно получить доступ из C). Также Python можно применять как язык расширений для настраиваемых приложений.
Этот учебник неформально представляет читателю основные концепции и возможности языка и системы Python. Полезно держать интерпретатор Python под рукой для получения практического опыта, но при этом все примеры самодостаточны, так что учебник вполне возможно читать вне сети.
Описание стандартных объектов и модулей вы можете найти в справочнике по библиотеке Python. Руководство по языку даёт более формальное описание языка. Перед написанием расширений на C/C++ ознакомьтесь с руководством по расширению и встраиванию в интерпретатор и справочником по Python/C API. Существует также несколько книг, в которых подробно рассмотрен язык Python.
Этот учебник не претендует на звание всеобъемлющего и не описывает каждую особенность Python: он даже не описывает всех его часто использующихся особенностей. Вместо этого он знакомит читателя с наиболее заслуживающими внимания из них и даёт вам представление о стиле и привкусе языка. После прочтения учебника вы сможете писать и читать программы и модули, написанные на Python, и будете готовы узнать больше о различных модулях библиотеки Python, описанных в справочнике по библиотеке
Python.
Кроме того, будет нелишним полистать Глоссарий.
Разжигая ваш аппетит
Если вы много работаете за компьютером — то периодически обнаруживаете задачи, которые хотели бы автоматизировать. Например, вы были бы не против ускорить операцию поиска и замены большого количества текстовых файлов, или как-то своеобразно переименовать и отсортировать набор фотографий. Возможно, вам хотелось бы написать небольшую базу данных на заказ, специализированное GUI-приложение или простую игру.
Если вы профессиональный разработчик программных продуктов — вероятно, вы привыкли работать с несколькими библиотеками на C/C++/Java, но находите обычный цикл
5
Учебник Python 3.1: Материал из Викиучебника.
написания/компиляции/тестирования/перекомпиляции кода чересчур медленным. Возможно, вы пишете набор тестов для такой библиотеки и процесс написания тестирующего кода воспринимается утомительным. Или же вы написали программу, которая должна использовать специальный язык для расширений и не хотите проектировать и разрабатывать полностью новый язык для вашего приложения.
Python — язык, который вам подойдёт.
Вы можете написать шелл-сценарий для Unix или использовать пакетные файлы Windows для некоторых из этих задач, но шелл-сценарии хороши лишь для перемещения файлов и замены текстовых данных — они вряд ли подойдут для написания приложений, снабженных графическим интерфейсом, или игр. Вы можете написать программу на C/C+ +/Java, но разработка может занять довольно много времени — даже на то, чтобы получить первый рабочий набросок, его требуется немало. Python — проще в использовании, доступен на операционных системах Windows, Mac OS X и Unix, и поможет сделать работу намного быстрее.
Даже учитывая лёгкость использования, Python — полноценный язык программирования, предлагающий много больше возможностей для структурирования и поддержки крупных программ, чем могут позволить себе шелл-сценарии или пакетные файлы. С другой стороны, Python также предоставляет намного больше информации для отладки ошибок чем C и, будучи сверх-высокоуровневым-языком, имеет встроенные высокоуровневые типы данных — такие, как гибкие массивы и словари. Благодаря наличию обобщённых типов данных Python применим для более широкого круга приложений чем Awk или даже Perl, и при этом очень многие вещи остаются в языке Python как минимум настолько же простыми, насколько просты в этих языках.
Python позволяет вам разделить вашу программу на модули, которые могут быть заново использованы в других программах на Python. Он поставляется вместе с внушительной коллекцией стандартных модулей, которые вы можете использовать в качестве фундамента ваших программ; или в качестве примеров для того, чтобы начать изучение Python. Многие из этих модулей предоставляют различную полезную функциональность: например, ввод-вывод для файлов, системные вызовы, сокеты, и даже инструменты для создания графического пользовательского интерфейса — такие, как Tk.
Python — интерпретируемый язык, и это может сохранить вам немало времени при разработке — в компиляции и связывании нет необходимости. Интерпретатор может использоваться в интерактивном режиме, что позволяет легко экспериментировать с возможностями языка, писать программы-однодневки или проверять функции во время разработки программ методом снизу-вверх. И, кроме всего прочего — это удобный настольный калькулятор.
Python даёт возможность писать компактные и читабельные программы. Программы, написанные на Python отличаются большей краткостью чем эквиваленты на C, C++ или Java, по нескольким причинам:
•высокоуровневые типы данных позволяют вам выражать сложные операции в одной инструкции;
•группировка инструкций выполняется отступами, а не операторными скобками;
•нет необходимости в описании переменных или аргументов.
6