Руководство по Python
*********************

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

The Python interpreter and the extensive standard library are freely
available in source or binary form for all major platforms from the
Python web site, https://www.python.org/, and may be freely
distributed. The same site also contains distributions of and pointers
to many free third party Python modules, programs and tools, and
additional documentation.

Интерпретатор Python легко расширяется новыми функциями и типами
данных, реализованными на C или C++ (или на других языках, вызываемых
из C). Python также подходит в качестве языка расширения для
настраиваемых приложений.

This tutorial introduces the reader informally to the basic concepts
and features of the Python language and system. It helps to have a
Python interpreter handy for hands-on experience, but all examples are
self-contained, so the tutorial can be read off-line as well.

For a description of standard objects and modules, see The Python
Standard Library. Справочник по языку Python gives a more formal
definition of the language.  To write extensions in C or C++, read
Extending and Embedding the Python Interpreter and Python/C API
Reference Manual. There are also several books covering Python in
depth.

Это руководство не стремится быть исчерпывающим и охватить все
особенности языка — даже самые распространённые. Вместо этого оно
знакомит с наиболее важными возможностями Python и даёт общее
представление о стиле и духе языка. После его прочтения вы сможете
писать и понимать модули и программы на Python и будете готовы узнать
больше о различных модулях стандартной библиотеки, описанных в разделе
The Python Standard Library.

Также стоит ознакомиться с Глоссарий.

* 1. Пробуждая интерес

* 2. Использование интерпретатора Python

  * 2.1. Запуск интерпретатора

    * 2.1.1. Передача аргументов

    * 2.1.2. Интерактивный режим

  * 2.2. Интерпретатор и его окружение

    * 2.2.1. Кодирование исходного кода

* 3. Неформальное введение в Python

  * 3.1. Использование Python как калькулятор

    * 3.1.1. Числа

    * 3.1.2. Текст

    * 3.1.3. Списки

  * 3.2. Первые шаги в программировании

* 4. Больше инструментов управления потоком выполнения программы

  * 4.1. Инструкция "if"

  * 4.2. Инструкция "for"

  * 4.3. Функция "range()"

  * 4.4. Инструкции "break" и "continue"

  * 4.5. "else" ветви в циклах

  * 4.6. Инструкция "pass"

  * 4.7. Инструкция "match"

  * 4.8. Определение функций

  * 4.9. Подробнее об определении функций

    * 4.9.1. Значения аргументов по умолчанию

    * 4.9.2. Именованные аргументы

    * 4.9.3. Специальные параметры

      * 4.9.3.1. Позиционные или именованные аргументы

      * 4.9.3.2. Только позиционные параметры

      * 4.9.3.3. Только именованные аргументы

      * 4.9.3.4. Примеры функций

      * 4.9.3.5. Краткое повторение

    * 4.9.4. Произвольные списки аргументов

    * 4.9.5. Распаковка списков аргументов

    * 4.9.6. Лямбда-выражения

    * 4.9.7. Строки документации

    * 4.9.8. Аннотации функций

  * 4.10. Отступление: стиль написания программ

* 5. Структуры данных

  * 5.1. Подробнее о списках

    * 5.1.1. Использование списка в качестве стека

    * 5.1.2. Использование списка в качестве очереди

    * 5.1.3. Списковые включения

    * 5.1.4. Вложенные списковые включения

  * 5.2. Инструкция "del"

  * 5.3. Кортежи и последовательности

  * 5.4. Множества

  * 5.5. Словари

  * 5.6. Техники перебора

  * 5.7. Больше о условиях

  * 5.8. Сравнение последовательностей и других типов

* 6. Модули

  * 6.1. Подробнее о модулях

    * 6.1.1. Выполнение модулей как скриптов

    * 6.1.2. Путь поиска модулей

    * 6.1.3. «Скомпилированные» файлы Python

  * 6.2. Стандартные модули

  * 6.3. Функция "dir()"

  * 6.4. Пакеты

    * 6.4.1. Импорт * из пакета

    * 6.4.2. Внутрипакетные ссылки

    * 6.4.3. Packages in Multiple Directories

* 7. Input and Output

  * 7.1. Fancier Output Formatting

    * 7.1.1. Formatted String Literals

    * 7.1.2. The String format() Method

    * 7.1.3. Manual String Formatting

    * 7.1.4. Старое форматирование строк

  * 7.2. Reading and Writing Files

    * 7.2.1. Methods of File Objects

    * 7.2.2. Сохранение структурированных данных с "json"

* 8. Ошибки и исключения

  * 8.1. Синтаксические ошибки

  * 8.2. Исключения

  * 8.3. Обработка исключений

  * 8.4. Выбрасывание исключений

  * 8.5. Цепочка исключений

  * 8.6. Пользовательские исключения

  * 8.7. Определение действий по очистке

  * 8.8. Предопределённые действие по очистке

  * 8.9. Выбрасывание и обработка нескольких несвязанных исключений

  * 8.10. Дополнение исключений заметками

* 9. Классы

  * 9.1. Несколько слов об именах и объектах

  * 9.2. Области видимости и пространства имён в Python

    * 9.2.1. Пример областей видимости и пространств имён

  * 9.3. Первый взгляд на классы

    * 9.3.1. Синтаксис определения класса

    * 9.3.2. Объекты классов

    * 9.3.3. Объекты экземпляров

    * 9.3.4. Объекта методов

    * 9.3.5. Переменные класса и экземпляра

  * 9.4. Полезные замечания

  * 9.5. Наследование

    * 9.5.1. Множественное наследование

  * 9.6. Закрытые переменные

  * 9.7. Разное и полезное

  * 9.8. Итераторы

  * 9.9. Генераторы

  * 9.10. Генераторные выражения

* 10. Brief Tour of the Standard Library

  * 10.1. Operating System Interface

  * 10.2. File Wildcards

  * 10.3. Command Line Arguments

  * 10.4. Error Output Redirection and Program Termination

  * 10.5. String Pattern Matching

  * 10.6. Математика

  * 10.7. Internet Access

  * 10.8. Dates and Times

  * 10.9. Data Compression

  * 10.10. Performance Measurement

  * 10.11. Quality Control

  * 10.12. Batteries Included

* 11. Brief Tour of the Standard Library --- Part II

  * 11.1. Output Formatting

  * 11.2. Шаблоны

  * 11.3. Working with Binary Data Record Layouts

  * 11.4. Многопоточность

  * 11.5. Логирование

  * 11.6. Weak References

  * 11.7. Tools for Working with Lists

  * 11.8. Decimal Floating-Point Arithmetic

* 12. Виртуальные окружения и пакеты

  * 12.1. Введение

  * 12.2. Создание виртуального окружения

  * 12.3. Управление пакетами с помощью pip

* 13. Что дальше?

* 14. Интерактивное редактирование ввода и подстановка истории

  * 14.1. Автодополнение и редактирование истории

  * 14.2. Альтернативы интерактивному интерпретатору

* 15. Арифметика с плавающей точкой: проблемы и ограничения

  * 15.1. Ошибка представления

* 16. Приложение

  * 16.1. Интерактивный режим

    * 16.1.1. Обработка ошибок

    * 16.1.2. Исполняемые Python скрипты

    * 16.1.3. Файл интерактивного запуска

    * 16.1.4. Модули настройки
