Разжигая Ваш аппетит
🕛 11.07.2009, 13:05
Если Вы когда-либо писали большие shell-сценарии, Вам, возможно, знакомо чувство: хочется добавить еще какую-то возможность, но и без нее программа уже такая медленная, такая большая, или же Вам требуются системные вызовы или другие функции, доступные только в C... Обычно задача не настолько серьезная, чтобы переписывать все на C. Возможно, задача требует строк переменной длины или других типов данных (например, сортированные списки имен файлов), которые присутствуют в shell, но требуют значительных усилий для реализации на C, или же Вы не настолько знакомы с C.Другая ситуация: Вам необходимо работать с несколькими библиотеками C, а на обычный цикл написание - компиляция - тестирование уходит слишком много времени. Вам нужно разрабатывать быстрее. Или же Вы уже написали программу, которая может использовать язык расширения, а у Вас нет желания его разрабатывать, писать и отлаживать для него интерпретатор, затем привязывать его к приложению.
В таком случае, Python - это то, что Вам нужно. Python прост в использовании, но это настоящий язык программирования, предоставляющий гораздо больше средств для структурирования и поддержки больших программ, чем shell. С другой стороны, он лучше обрабатывает ошибки, чем C и, будучи языком очень высокого уровня, имеет встроенные типы данных высокого уровня, такие как гибкие массивы и словари, эффективная реализация которых на C стоила бы Вам значительных затрат времени. Благодаря более общим типам данных, Python применим к более широкому кругу задач, чем Awk и даже Perl, в то время как многие вещи в языке Python делаются настолько же просто.
Python позволяет разбивать программы на модули, которые затем могут быть использованы в других программах. Python поставляется с большой библиотекой стандартных модулей, которые Вы можете использовать как основу для Ваших программ или в качестве примеров при изучении языка. Стандартные модули предоставляют средства для работы с файлами, системных вызовов, сетевые соединения и даже интерфейсы к различным графическим библиотекам.
Python - интерпретируемый язык, что позволит Вам сэкономить значительное количество времени, обычно расходуемого на компиляцию. Интерпретатор можно использовать интерактивно, что позволяет экспериментировать с возможностями языка, писать наброски программ или тестировать функции при разработке "снизу вверх". Он также удобен в качестве настольного калькулятора.
Python позволяет писать очень компактные и удобочитаемые программы. Программы, написанные на языке Python, обычно значительно короче эквивалента на C или C++ по нескольким причинам:
* типы данных высокого уровня позволят Вам выразить сложные операции одной инструкцией; * группирование инструкций выполняется с помощью отступов вместо фигурных скобок; * нет необходимости в объявлении переменных.
Python расширяемый: знание C позволит Вам добавлять новые встраиваемые функции или модули для выполнения критичных операций с максимальной скоростью или написания интерфейса к коммерческим библиотекам, доступным только в двоичном виде. Вы можете вставить интерпретатор языка Python в приложение, написанное на C, и использовать его в качестве расширения или командного языка для этого приложения.
Кстати, язык назван в честь шоу BBC "Monty Python's Flying Circus" и не имеет ничего общего с мерзкими рептилиями.
Теперь, когда у Вас появился интерес к языку Python, Вы захотите узнать о нем более подробно. Так как лучший способ изучить язык - использовать его, приглашаем Вас так и сделать. В следующей главе мы объясним Вам, как пользоваться интерпретатором. Это довольно скучная информация, но она необходима для того, чтобы Вы могли попробовать приведенные в книге примеры. Последующие главы ознакомят Вас с различными особенностями языка на примерах, начиная с простых выражений, инструкций и типов данных, через функции и модули, заканчивая такими концепциями, как исключения и классы.