1. Разжигая ваш аппетит

Если вы много работаете за компьютерам, то появится потребность в автоматизации какой-либо задачи. Например, может потребоваться выполнить поиск и замену по большому количеству текстовых файлов или переименование и перегруппирования кучи фотографий сложным образом. Возможно, вы хотели бы написать маленькую пользовательскую базу данных, специализированное приложение с GUI или простую игру.

Если вы профессиональный разработчик программных продуктов — вероятно, вы привыкли работать с несколькими библиотеками на C/C++/Java, но находите обычный цикл написания/компиляции/тестирования/перекомпиляции кода чересчур медленным. Возможно, вы пишете набор тестов для такой библиотеки и процесс написания тестирующего код воспринимается утомительным. Или же вы написали программу, которая должна использовать специальный язык для расширений и не хотите проектировать и разрабатывать полностью новый язык для вашего приложения.

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, по нескольким причинам:

  • Типы данных высокого уровня позволяют выражать сложные операции одним оператором;
  • Блочный оператор реализуется с помощью отступов вместо открывающихся и закрывающихся скобок;
  • Объявления типов переменных или аргументов не требуются.

Python расширяем: если вы знаете, как программировать на C, то вам легко будет добавить к интерпретатору новую встроенную функцию или модуль, выполнить критические операции на максимальной скорости или связать программы на Python с библиотеками, которые могут быть доступны только в бинарной форме (например, зависящие от поставщика графические библиотеки). Если вы действительно увлечены — вы можете привязать интерпретатор Python к приложению, написанному на C — чтобы использовать его как язык расширений или командный язык этого приложения.

Кстати, язык назван в честь шоу на BBC «Летающий цирк Монти Пайтон» и не имеет никакого отношения к рептилиям. Ссылки на скетчи Монти Пайтон в документации не только разрешены, но и поощряются!

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

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

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