Скриптовый язык Python [Автор неизвестен] (fb2) читать постранично


 [Настройки текста]  [Cбросить фильтры]

СКРИПТОВЫЙ ЯЗЫК PYTHON

Python — свободно распространяемый, высокоуровневый интерпретируемый язык, разработанный Гвидо ван Россумом (Guido van Rossum). Python сочетает прозрачный синтаксис с мощной(но необязательной) объектно-ориентированной семантикой. Python доступен почти на всех существующих ныне платформах и обладает очень высокой межплатформенной переносимостью.

Python поддерживает большую часть характеристик функционального языка начиная с версии Python 1.0. Как и большинство других возможностей, они присутствуют в смешанных языках. Из объектных возможностей Python вы можете использовать все что вам нужно, и игнорировать все остальное(пока оно вам не понадобится). В Python 2.0 было добавлено очень удачное «синтаксическое украшение» — списочные встраивания (list comprehensions). Хотя и не добавляя принципиально новых возможностей, списочные встраивания делают использование многих старых возможностей значительно приятнее.

Базовые элементы FP в Python — функции map(), reduce(), filter() и оператор lambda. В Python 1.x введена также функция apply(), удобная для прямого применения функции к списку, возвращаемому другой. Python 2.0 предоставляет для этого улучшенный синтаксис. Несколько неожиданно, но этих функций и всего нескольких базовых операторов почти достаточно для написания любой программы на Python; в частности,  все управляющие утверждения ('if', 'elif', 'else', 'assert', 'try', 'except', 'finally', 'for', 'break', 'continue', 'while', 'def') можно представить в функциональном стиле, используя исключительно функции и операторы. Несмотря на то, что задача реального удаления всех команд управления потоком, возможно, полезна только для представления на конкурс «невразумительный Python» (с кодом, выглядящим как программа на Lisp'е), стоит уяснить, как FP выражает управляющие структуры через вызовы функций и рекурсию.

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

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

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

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

Механика использования интерпретатора проста. Вам необходимо запустить интерпретатор Python, и вводить построчно команды на этом замечательном языке:


>>> x = int(raw_input("Please enter a number: "))

Please enter a number: 5

>>> if x < 0:

… x = 0

… print 'Negative changed to zero'

… elif x == 0:

… print 'Zero'

… elif x == 1:

… print 'Single'

… else:

… print 'More'

More


Как мы видим интерпретатор автоматически отлаживает нашу программу и можно визуально проверить ее правильность.

Другой яркий пример отражающий достоинства Python:


>>> # Measure some strings:

… a = ['cat', 'window', 'defenestrate']

>>> for x in a:

… print x, len(x)

cat 3

window 6

defenestrate 12


Естественно Python не единственный пример высокоразвитого гибридного языка, однако он достоин более детального рассмотрения. Python одинаково похож на такие языки как С++:


>>> a = [66.6, 333, 333, 1, 1234.5]

>>> print a.count(333), a.count(66.6), a.count('x')

2 1 0

>>> a.insert(2, -1)

>>> a.append(333)

>>> a

[66.6, 333, -1, 333, 1, 1234.5, 333]

>>> a.index(333)

1

>>> a.remove(333)

>>> a

[66.6, -1, 333, 1, 1234.5, 333]

>>> a.reverse()

>>>