1. Возбуждает Ваш аппетит¶
Если вы много работаете на компьютере, то рано или поздно обнаруживаете, что хотите автоматизировать какую-то задачу. Например, вам может потребоваться выполнить поиск и замену большого количества текстовых файлов или переименовать и упорядочить множество файлов с фотографиями сложным образом. Возможно, вы хотели бы написать небольшую пользовательскую базу данных, или специализированное приложение с графическим интерфейсом, или простую игру.
Если вы профессиональный разработчик программного обеспечения, вам, возможно, придется работать с несколькими библиотеками 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, и использовать его в качестве расширения или командного языка для этого приложения.
Кстати, язык назван в честь шоу Би-би-си «Летающий цирк Монти Пайтона» и не имеет никакого отношения к рептилиям. Использование ссылок на пародии Монти Пайтона в документации не только разрешено, но и поощряется!
Теперь, когда вы все в восторге от Python, вам захочется изучить его более подробно. Поскольку лучший способ выучить язык - это использовать его, в руководстве предлагается поиграть с интерпретатором Python во время чтения.
В следующей главе объясняется механизм использования интерпретатора. Это довольно простая информация, но она необходима для того, чтобы опробовать приведенные ниже примеры.
Остальная часть руководства знакомит с различными возможностями языка и системы Python на примерах, начиная с простых выражений, инструкций и типов данных, функций и модулей и, наконец, затрагивая продвинутые концепции, такие как исключения и пользовательские классы.