Перейти на главную страничку сайта (список статей, файлы для скачивания)
Г. Россум, Ф.Л.Дж. Дрейк, Д.С. Откидач
Г. Россум, Ф.Л.Дж. Дрейк, Д.С. Откидач, М. Задка, М. Левис, С. Монтаро, Э.С. Реймонд, А.М. Кучлинг, М.-А. Лембург, К.-П. Йи, Д. Ксиллаг, Х.Г. Петрилли, Б.А. Варсав, Дж.К. Ахлстром, Дж. Роскинд, Н. Шеменор, С. Мулендер.
Язык программирования Python. / 2001 — 454 c.
Python является простым и, в то же время, мощным интерпретируемым объектно-ориентированным языком программирования. Он предоставляет структуры данных высокого уровня, имеет изящный синтаксис и использует динамический контроль типов, что делает его идеальным языком для быстрого написания различных приложений, работающих на большинстве распространенных платформ. Книга содержит вводное руководство, которое может служить учебником для начинающих, и справочный материал с подробным описанием грамматики языка, встроенных возможностей и возможностей, предоставляемых модулями стандартной библиотеки. Описание охватывает наиболее распространенные версии Python: от 1.5.2 до 2.0.
© Stichting Mathematisch Centrum, 1990–1995
© Corporation for National Research Initiatives, 1995–2000
© BeOpen.com, 2000
© Д.С. Откидач, 2001
Эта книга не была издана и находится в свободном доступе. Разрешение на публикацию книги здесь дал переводчик и соавтор Д.С. Откидач.
Дорогой читатель!
Вашему вниманию предлагается книга "Язык программирования Python". Книга эта — не просто перевод английского учебника. Автор перевода проделал огромную работу по проверке примеров и упражнений, добавил в книгу немало других материалов.
Появление данной книги знаменует новый важный этап. Это признание того, что Python стал распространенным языком программирования, что его пользователи нуждаются в современной литературе на русском языке. В свою очередь появление книги будет способствовать еще большей популярности языка.
Python — это свободный интерпретируемый объектно-ориентированный расширяемый встраиваемый язык программирования очень высокого уровня.
Python — язык универсальный, он широко используется во всем мире для самых разных целей — базы данных и обработка текстов, встраивание интерпретатора в игры, программирование GUI и быстрое создание прототипов (RAD). И, конечно же, Python используется для программирования Internet и Web приложений — серверных (CGI), клиентских (роботы), Web-серверов и серверов приложений. Python обладает богатой стандартной библиотекой, и еще более богатым набором модулей, написанных третьими лицами. Python и приложения, написанные на нем, используют самые известные и крупные фирмы — IBM, Yahoo!, Google.com, Hewlett Packard, Infoseek, NASA, Red Hat, CBS MarketWatch, Microsoft.
На этом языке написаны:
Python используется и в России. Многие компании используют его для внутренних нужд; на этом языке пишутся утилиты, фильтры, резидентные программы, GUI и Web-сайты. На некоторых сайтах все CGI-программы написаны на языке Python (сайт Фонда "Общественное мнение" www.fom.ru), другие используют системы публикации, написанные на языке Python (Русский Журнал, www.russ.ru). Находит использование и Zope. На нем сделаны сайты: Каталог Full.RU (www.full.ru), Банк МЕНАТЕП СПб (www.menatep.spb.ru), сайт красноярской компании Интербит (www.interbit.ru) и другие.
Существует русскоязычная группа пользователей Python и Zope, сайт которой (zope.net.ru) также построен на технологии Zope. Группа имеет список рассылки, в котором обсуждаются вопросы и решаются проблемы, связанные с использованием Python и Zope.
Олег Бройтман
Появление этой книги стало возможным благодаря всесторонней поддержке окружающих меня друзей. Особую признательность хотелось бы выразить моей жене Катерине — за редакторскую правку и проявленное терпение, Олегу Бройтману — за ценные замечания и прекрасное предисловие и всей русскоязычной группе пользователей Python и Zope — за полезные обсуждения приведенных здесь примеров. В списке рассылки группы Вы сможете высказать свои замечания и предложения, а также получить информацию, связанную с обновлением книги.
Денис Откидач
BEOPEN.COM TERMS AND CONDITIONS FOR PYTHON 2.0 Часть I: Вводное руководство 1. Разжигая Ваш аппетит 2. Использование интерпретатора 2.1. Вызов интерпретатора 2.1.1. Передача аргументов 2.1.2. Интерактивный режим 2.2. Интерпретатор и его среда 2.2.1. Обработка ошибок 2.2.2. Исполняемые файлы 2.2.3. Инициализация при запуске в интерактивном режиме 3. Неформальное введение в Python 3.1. Использование интерпретатора Python в качестве калькулятора 3.1.1. Числа 3.1.2. Строки 3.1.3. Строки Unicode 3.1.4. Списки 3.2. Первые шаги к программированию 4. Средства управления логикой 4.1. Инструкция if 4.2. Инструкция for 4.3. Функции range() и xrange() 4.4. Инструкции break и continue, ветвь else в циклах 4.5. Инструкция pass 4.6. Определение функций 4.7. Дополнительные возможности в определении функций 4.7.1. Значения аргументов по умолчанию 4.7.2. Произвольный набор аргументов 4.7.3. Именованные аргументы 4.7.4. Короткая форма 4.7.5. Строки документации 4.7.6. Вызов функций 5. Структуры данных 5.1. Подробнее о списках 5.1.1. Стеки 5.1.2. Очереди 5.2. Средства функционального программирования 5.3. Дополнительные возможности при конструировании списков 5.4. Инструкция del 5.5. Кортежи 5.6. Словари 5.7. Подробнее об условиях 5.8. Сравнение последовательностей 6. Модули 6.1. Создание и использование модулей 6.2. Поиск модулей 6.3. "Компилированные" файлы 6.4. Стандартные модули 6.5. Функция dir() 6.6. Пакеты 6.6.1. Импортирование всего содержимого пакета (модуля) 6.6.2. Связи между модулями пакета 7. Ввод/вывод 7.1. Форматированный вывод 7.2. Чтение и запись файлов 7.2.1. Методы объектов-файлов 7.2.2. Модуль pickle 8. Ошибки и исключения 8.1. Синтаксические ошибки 8.2. Исключения 8.3. Обработка исключений 8.4. Генерация исключений 8.5. Исключения, определяемые пользователем 8.6. "Страхование" от ошибок 9. Классы 9.1. Несколько слов о терминологии 9.2. Области видимости и пространства имен 9.3. Первый взгляд на классы 9.3.1. Синтаксис определения класса 9.3.2. Объекты-классы 9.3.3. Объекты-экземпляры 9.3.4. Методы экземпляров классов 9.4. Выборочные замечания 9.5. Наследование 9.6. Частные атрибуты 9.7. Примеры использования классов 9.7.1. Экземпляры классов в качестве исключений 9.7.2. Классы-помощники 9.7.3. Множества 9.7.4. Контроль доступа к атрибутам Часть II: Встроенные возможности языка 10. Синтаксис и семантика 10.1. Структура строк программы 10.1.1. Логические и физические строки 10.1.2. Отступы 10.2. Выражения 10.2.1. Атомы 10.2.2. Первичные выражения 10.2.3. Арифметические и битовые операторы 10.2.4. Условные операторы 10.2.5. Истинность 10.2.6. Логические операторы 10.2.7. Оператор lambda 10.2.8. Списки выражений 10.2.9. Сводная таблица приоритетов 10.3. Простые инструкции 10.3.1. Инструкции-выражения 10.3.2. Присваивание 10.3.3. Инструкция del 10.3.4. Пустая инструкция 10.3.5. Инструкция print 10.3.6. Инструкция break 10.3.7. Инструкция continue 10.3.8. Инструкция return 10.3.9. Инструкция global 10.3.10. Инструкция import 10.3.11. Инструкция exec 10.3.12. Отладочные утверждения 10.3.13. Генерация исключений 10.4. Составные инструкции 10.4.1. Инструкция if 10.4.2. Цикл while 10.4.3. Цикл for 10.4.4. Инструкция try 10.4.5. Определение функций 10.4.6. Определение класса 10.5. Пространства имен 11. Встроенные типы данных 11.1. Числовые типы 11.1.1. Целые и длинные целые числа 11.1.2. Вещественные числа 11.1.3. Комплексные числа 11.1.4. Арифметические операторы 11.1.5. Битовые операции над целыми числами 11.2. Последовательности 11.2.1. Строки 11.2.2. Строки Unicode 11.2.3. Кортежи 11.2.4. Объекты xrange 11.2.5. Объекты buffer 11.2.6. Изменяемые последовательности 11.3. Отображения 11.4. Объекты, поддерживающие вызов 11.4.1. Функции, определенные пользователем 11.4.2. Методы, определенные пользователем 11.4.3. Встроенные функции и методы 11.4.4. Классы 11.4.5. Экземпляры классов 11.5. Модули 11.6. Классы и экземпляры классов 11.6.1. Классы 11.6.2. Экземпляры классов 11.6.3. Специальные методы 11.7. Файловые объекты 11.8. Вспомогательные объекты 11.8.1. Пустой объект 11.8.2. Объекты типа 11.8.3. Представление расширенной записи среза 11.9. Детали реализации 11.9.1. Объекты кода 11.9.2. Кадр стека 11.9.3. Объекты traceback 12. Встроенные функции 13. Встроенные классы исключений Часть III: Библиотека стандартных модулей 14. Конфигурационные модули 14.1. site — общая конфигурация 14.2. user — конфигурация пользователя 15. Служебные модули 15.1. sys — характерные для системы параметры и функции 15.2. gc — управление "сборщиком мусора" 15.3. atexit — выполнение действий при окончании работы программы 15.4. types — имена для всех встроенных типов 15.5. operator — операторы в виде функций 15.6. traceback — модуль для работы с объектами traceback 15.7. imp — доступ к операциям, производимым инструкцией import 15.8. pprint — представление и вывод данных в более привлекательном виде 15.9. repr — альтернативная реализация функции repr() 16. Работа со строками 16.1. string — наиболее распространенные операции над строками 16.2. re — операции с регулярными выражениями 16.2.1. Синтаксис регулярных выражений 16.2.2. Сопоставление в сравнении с поиском 16.2.3. Функции и константы, определенные в модуле 16.2.4. Объекты, представляющие регулярные выражения 16.2.5. Объекты, представляющие результат сопоставления 16.3. StringIO и cStringIO — работа со строками как с файловыми объектами 16.4. codecs — регистрация кодеков и работа с ними 17. Средства интернационализации 17.1. locale — использование национальных особенностей 17.2. gettext — выдача сообщений на родном языке 17.2.1. Интерфейс GNU gettext 17.2.2. Интерфейс, основанный на классах 17.2.3. Изготовление каталога переведенных сообщений 18. Математический аппарат 18.1. math — математические функции для работы с вещественными числами 18.2. cmath — математические функции для работы с комплексными числами 18.3. random — псевдослучайные числа с различными распределениями 18.4. whrandom — генератор псевдослучайных чисел 18.5. bisect — поддержание последовательностей в сортированном состоянии 18.6. array — эффективные массивы чисел 19. Интерфейсные классы к встроенным типам 19.1. UserString — интерфейсный класс для создания строковых объектов 19.2. UserList — интерфейсный класс для создания последовательностей 19.3. UserDict — интерфейсный класс для создания отображений 20. Сохранение и копирование объектов 20.1. pickle и cPickle — представление объектов в виде последовательности байтов 20.2. shelve — сохранение объектов в базе данных в стиле DBM 20.3. marshal — байт-компилированное представление объектов 20.4. struct — преобразование объектов в структуры языка C 21. Доступ к средствам, предоставляемым операционной системой 21.1. os — основные службы операционной системы 21.1.1. Параметры процесса 21.1.2. Создание файловых объектов 21.1.3. Операции с файловыми дескрипторами 21.1.4. Файлы и каталоги 21.1.5. Управление процессами 21.1.6. Различная системная информация 21.2. os.path — работа с именами путей 21.3. stat — интерпретация os.stat() 21.4. statvfs — интерпретация os.statvfs() 21.5. filecmp — сравнение файлов и каталогов 21.6. popen2 — доступ к потокам ввода/вывода дочерних процессов 21.7. time — определение и обработка времени 21.8. sched — планирование задач 21.9. getpass — запрос пароля и определение имени пользователя 21.10. getopt — обработка опций в командной строке 21.11. tempfile — создание временных файлов 21.12. errno — символические имена стандартных системных ошибок 21.13. glob — раскрытие шаблона имен путей 21.14. fnmatch — сопоставление имен файлов с шаблоном 21.15. shutil — операции над файлами высокого уровня 21.16. signal — обработка асинхронных событий 21.17. socket — сетевой интерфейс низкого уровня 21.18. select — ожидание завершения ввода/вывода 21.19. mmap — отображение файлов в память 22. Средства организации многопоточных программ 22.1. thread — создание нескольких потоков и управление ими 22.2. threading — средства высокого уровня организации потоков 22.2.1. Объекты, реализующие блокировку 22.2.2. Условия 22.2.3. Семафоры 22.2.4. События 22.2.5. Объекты, представляющие потоки 22.3. Queue — синхронизированные очереди 23. Работа с базами данных 23.1. Интерфейс к базам данных в стиле DBM 23.1.1. Общая для всех модулей часть интерфейса 23.1.2. Дополнительные методы объектов, возвращаемых функцией dbhash.open() 23.1.3. Дополнительные методы объектов, возвращаемых функцией gdbm.open() 23.2. whichdb — определение формата файла базы данных 23.3. bsddb — интерфейс к библиотеке баз данных BSD 24. Сжатие данных 24.1. zlib — алгоритм сжатия, совместимый с gzip 24.2. gzip — работа с файлами, сжатыми программой gzip 24.3. zipfile — работа с zip-архивами 25. Отладка и оптимизация кода на языке Python 25.1. Отладчик кода на языке Python 25.1.1. Функции запуска отладчика 25.1.2. Команды отладчика 25.2. Замер производительности 25.2.1. Введение 25.2.2. profile — замер производительности 25.2.3. pstats — обработка статистических данных и вывод отчетов 26. Выполнение в защищенном режиме 26.1. rexec — основные средства настройки защищенного режима 26.2. Bastion — ограничение доступа к экземплярам классов 27. Поддержка протоколов Internet 27.1. cgi — протокол CGI 27.1.1. Введение 27.1.2. Использование модуля cgi 27.1.3. Дополнительные возможности модуля 27.1.4. Вопросы безопасности 27.1.5. Установка CGI-программы 27.1.6. Отладка 27.2. urllib — чтение произвольных ресурсов по URL 27.3. urlparse — операции над URL 28. Поддержка форматов, используемых в Internet 28.1. rfc822 — обработка заголовков электронных писем 28.2. mimetools — обработка сообщений в формате MIME 28.3. MimeWriter — средства для записи в формате MIME 28.4. multifile — чтение сообщений, состоящих из нескольких частей 28.5. xdrlib — представление данных в формате XDR 29. Средства работы с языками структурной разметки 29.1. sgmllib — обработка SGML-документов 29.2. htmllib — обработка HTML-документов 29.3. htmlentitydefs — определения сущностей HTML 29.4. xml.parsers.expat—быстрая обработка XML-документов с помощью библиотеки Expat 29.5. xml.sax — SAX2 интерфейс к синтаксическим анализаторам XML-документов 29.6. xml.sax.handler — базовые классы для обработчиков SAX-событий 29.6.1. Интерфейс класса ContentHandler 29.6.2. Интерфейс класса DTDHandler 29.6.3. Интерфейс класса ErrorHandler 29.6.4. Интерфейс класса EntityResolver 29.7. xml.sax.saxutils — вспомогательные средства для приложений, использующих SAX 29.8. xml.sax.xmlreader — интерфейс объектов, реализующих чтение и синтаксический анализ XML-документов 29.8.1. Интерфейс класса XMLReader 29.8.2. Интерфейс класса IncrementalParser 29.8.3. Интерфейс класса Locator 29.8.4. Экземпляры класса InputSource 29.8.5. Экземпляры классов AttributesImpl и AttributesNSImpl 29.9. xmllib — обработка XML-документов 30. Разное 30.1. fileinput — перебор строк из нескольких входных потоков 30.2. ConfigParser — чтение конфигурационных файлов 30.3. shlex — простой синтаксический анализатор 30.4. cmd — создание командных интерпретаторов 30.5. calendar — функции для работы с календарем Приложения A. Параметры командной строки интерпретатора и переменные окружения B. Грамматика языка
Python 1.6 is made available subject to the terms and conditions in CNRI's License Agreement. This Agreement together with Python 1.6 may be located on the Internet using the following unique, persistent identifier (known as a handle): 1895.22/1012. This Agreement may also be obtained from a proxy server on the Internet using the following URL: http://hdl.handle.net/1895.22/1012.
Copyright © 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, The Netherlands. All rights reserved.
Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Stichting Mathematisch Centrum or CWI not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission.
STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Перейти на главную страничку сайта (список статей, файлы для скачивания)
© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.