Если вы много работаете за компьютером, рано или поздно вы обнаружите, что хотите автоматизировать какую-то задачу. Например, вам может понадобиться выполнить поиск и замену в большом количестве текстовых файлов или переименовать и упорядочить множество файлов фотографий сложным образом. Возможно, вы захотите написать небольшую базу данных, специализированное приложение с графическим интерфейсом или простую игру.
Если вы профессиональный разработчик программного обеспечения, вам, возможно, приходится работать с несколькими библиотеками C/C++/Java, но обычный цикл «написание/компиляция/тестирование/перекомпиляция» кажется вам слишком медленным. Возможно, вы пишете набор тестов для такой библиотеки и считаете написание тестового кода утомительным. Или, возможно, вы написали программу, которая может использовать язык расширений, и не хотите разрабатывать и реализовывать совершенно новый язык для своего приложения.
Python — это язык, который вам нужен.
Для некоторых из этих задач можно написать скрипт оболочки Unix или пакетный файл Windows, но скрипты оболочки лучше всего подходят для перемещения по файлам и изменения текстовых данных и не очень подходят для приложений с графическим интерфейсом или игр. Можно написать программу на C/C++/Java, но даже первый черновик программы может потребовать много времени на разработку. Python проще в использовании, доступен в операционных системах Windows, macOS и 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 с помощью примеров, начиная с простых выражений, операторов и типов данных, через функции и модули, и, наконец, касаясь сложных концепций, таких как исключения и определяемые пользователем классы.