Основы синтаксиса программирования python. А получится ли у меня? Средства оптимизации скорости выполнения

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

Из этой статьи вы узнаете:

Привет, привет! На связи Гридин Семён. Наконец — то, я добрался до основной тематики этого блога, программирование интеллектуальных систем с помощью языка Python. Я долго шёл к этому, готовился. И вот, я готов писать вам интересные статьи и изучать глубоко эту тему.

Для чего мне это нужно? Для начала я ставил себе такую задачу о разработке , машинного обучения и компьютерного зрения.

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

Тогда начну свою повесть))...

Возможности языка программирования Python

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

Чем же может быть полезен Python?

  1. Работа с xml/html файлами
  2. Работа с http запросами
  3. GUI (графический интерфейс)
  4. Создание веб-сценариев
  5. Работа с FTP
  6. Работа с изображениями, аудио и видео файлами
  7. Робототехника (применение одноплатных компьютеров)
  8. Программирование математических и научных вычислений

И тому подобное. Python способен выполнять львиную долю рутинных задач.

На Питоне можно собрать и резервное копирование, и работу с электронными письмами, и простейший калькулятор, и скрипт для сайта. Язык ничем не ограничен. Что самое интересное, используется в таких IT-гигантах, как Google и Yandex.

В этой статье мы рассмотрим с вами программирование Python с нуля.

Для того чтобы у вас работала программа на определённом устройстве, неважно какая ОС — windows, linux, RaspbianOS, MacOS. Важно, чтобы у вас находился интерпретатор, который будет понимать команды и выполнять.

Делаем следующим образом, скачиваем IDE python c официального источника .

Знакомство с интерпретатором

Итак интерпретатор обрабатывает текстовый код программы. Существует интерактивный режим среды разработки. Можно запустить несколькими способами:

  1. Из обычной командной строки сmd — введите команду python ;
  2. C рабочего стола (ярлык);
  3. С помощью меню Пуск — Python IDLE;

Вам откроется это окошечко:

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

Для Arduino тоже есть своя программная оболочка . Почитайте.

С чего начать обучение python? Давайте попробуем написать первую программу?

Создание первой программы

Программа на языке Python — это обычный текстовый файл с написанным кодом. Расширение этого файла.py. Запустить программу можно, указав соответствующее имя в командной строке. Напишем с вами простейшую стандартную программу «Hello world!».

Задача такая — вывести на экран "Hello world!". Запускаем NotePad.

Пишем следующий код:

Python

print ("Hello world!!!")

print ("Hello world!!!" )

И сохраняем в папку соблюдая путь C:\MyScripts . Рекомендую все проекты скидывать в эту папку.

Для того, чтобы нам запустить скрипт, выберите командную строку и введите путь к вашему файлу:

По поводу книг. На самом деле, хоть язык и прост в плане создания кода, но очень много нюансов и различных библиотек для реализации гигантского спектра задач.

Лучшая книга по python для начинающих по праву считается самоучитель Майка МакГрата. Исчерпывающее руководство по составлению кода на языке Питон.

Извините за качество фото, по другому не получается. Остальные книги пока не рекомендую покупать, так как они на самом деле громоздкие и объёмные. Для базиса достаточно будет и МакГрата.

Ребят, на этом у меня всё, если у вас есть какие-то вопросы, вы всегда можете мне написать. Подписывайтесь на новости блога. Рассылайте друзьям. Спасибо за внимание.

С уважением, Гридин Семён

Когда-то давным давно, на одном закрытом форуме я пытался проводить обучение Пайтону. В общем дело там заглохло. Мне стало жалко написанных уроков, и я решил их выложить для широкой общественности. Пока самый первый, самый простой. Дальше идет интереснее, но может быть это будет не интересно. В общем, этот пост будет пробным шаром, если понравится, буду выкладывать дальше.

Python для начинающих. Глава первая. «О чем это мы»

На всякий случай, немного скучного «evangelism». Кому он надоел, можно пропустить несколько абзацев.
Python (читается как «Пайтон» а не «питон») - скриптовый язык, разработанный Гвидо ван Россумом в качестве простого языка, легкого в изучении новичку.
В наше время Пайтон – широко распространенный язык, который используется во многих областях:
- Разработка прикладного ПО (например linux-утилиты yum, pirut, system-config-*, IM-клиент Gajim и многие другие)
- Разработка web-приложений (мощнейший Application-сервер Zope и разработанная на его основе CMS Plone, на основе которой работает например сайт ЦРУ, и масса фреймворков для быстрой разработки приложений Plones, Django, TurboGears и многие другие)
- Использование в качестве встраиваемого скриптового языка во многих играх, и не только (в офисном пакете OpenOffice.org, 3d редакторе Blender, СУБД Postgre)
- Использование в научных рассчетах (с пакетами SciPy и numPy для расчетов и PyPlot для рисования графиков Пайтон становится практически сравним с пакетами типа MatLab)

И это конечно далеко не полный список проектов, использующих этот замечательный язык.

1. Сам интерпретатор, его можно взять тут (http://python.org/download/).
2. Среда разработки. Она для начала необязательна, да и идущий в дистрибутиве IDLE подойдет новичку, но для серъезных проектов нужно что-то посерьезней.
Для Windows я использую замечательный легковесный PyScripter (http://tinyurl.com/5jc63t), для Linux – Komodo IDE.

Хотя для первого урока достаточно будет просто интерактивной оболочки самого Пайтона.

Просто запустите python.exe. Приглашение ввода не заставит себя долго ждать, оно выглядит так:

Также можно записывать программы в файлы с расширением py, в вашем любимом текстовом редакторе, который не добавляет к тексту своих символов разметки (нет Word не подойдет). Также желательно чтобы этот редактор умел делать «умные табуляторы» и не заменял пробелы знаком табуляции.
Для запуска файлов на исполнение по ним можно щелкать 2 раза. Если консольное окно закрывается слишком быстро, вставьте в конце программы следующую строку:

Тогда интерпретатор будет в конце программы ждать нажатия enter.

Или ассоциируйте py-файлы в Far с Пайтоном и открывайте нажимая enter.

Наконец можно воспользоваться одной из многих удобных IDE для Пайтона, которые предоставляют и возможности отладки и подсветку синтаксиса и многие другие «удобства».

Немного теории.

Для начала, Пайтон – язык со строгой динамической типизацией. Что это означает?

Есть языки со строгой типизацией (pascal, java, c и т.п.), у которых тип переменной определяется заранее и не может быть изменен, и есть языки с динамической типизацией (python, ruby, vb), в которых тип переменной трактуется в зависимости от присвоенного значения.
Языки с динамической типизацией можно разделить еще на 2 вида. Строгие, которые не допускают неявного преобразования типа (Пайтон) и нестрогие, которые выполняют неявные преобразования типа (например VB, в котором можно легко сложить строку "123" и число 456).
Разобравшись с классификацией Пайтона, попробуем немного «поиграть» с интерпретатором.

>>> a = b = 1 >>> a, b (1, 1) >>> b = 2 >>> a, b (1, 2) >>> a, b = b, a >>> a, b (2, 1)

Таким, образом мы видим что присваивание осуществляется с помощью знака =. Присвоить значение можно сразу нескольким переменным. При указании интерпретатору имени переменной в интерактивном режиме, он выводит ее значение.

Следующее, что необходимо знать – как строятся базовые алгоритмические единицы – ветвления и циклы. Для начала, необходима небольшая справка. В Пайтоне нет специального ограничителя блоков кода, их роль выполняют отступы. То есть то что написано с одинаковым отступом – является одним командным блоком. Поначалу это может показаться странным, но после легкого привыкание, понимаешь что эта «вынужденная» мера позволяет получать очень читабельный код.
Итак условия.

Условие задается с помощью оператора if, который заканчивается «:». Альтернативные условия которые будут выполняться если первая проверка «не прошла» задаются оператором elif. Наконец else задает ветку, которая будет выполнена если ни одно из условий не подошло.
Обратите внимание, что после ввода if интерпретатор с помощью приглашения «...» показывает что он ожидает продолжения ввода. Чтобы сообщить ему что мы закончили, необходимо ввести пустую строку.

(Пример с ветвлениями почему-то рвет разметку на хабре, не смотря на танцы с тегами pre и code. Простите за неудобство, я его кинул сюда pastebin.com/f66af97ba , если кто-то подскажет что не так - буду очень признателен)

Циклы.

Простейшим случаем цикла является цикл while. В качестве параметра он принимает условие и выполняется до тех пор, пока оно истино.
Вот маленький пример.

>>> x = 0 >>> while x<=10: ... print x ... x += 1 ... 0 1 2 ........... 10

Обратите внимание что поскольку и print x и x+=1 написаны с одинаковым отступом, они считаются телом цикла (помните что я говорил про блоки? ;-)).

Второй вид циклов в Пайтон – цикл for. Он аналогичен циклу foreach других языков. Его синтаксис условно таков.

For переменная in список:
команды

Переменной будут присваиваться по очереди все значения из списка (на самом деле там может быть не только список, но и любой другой итератор, но не будем пока этим забивать голову).

Вот простой пример. В роли списка будет выступать строка, которая является ничем иным как списком символов.

>>> x = "Hello, Python!" >>> for char in x: ... print char ... H e l ........... !

Таким образом мы можем разложить строку по символам.
Что же делать если нам нужен цикл, повторяющийся определенное число раз? Очень просто, на помощь придет функция range.

На входе она принимает от одного до трех параметров, на выходе возвращает список чисел, по которому мы можем «пройтись» оператором for.

Вот несколько примеров использования функции range, которые объясняют роль ее параметров.

>>> range(10) >>> range(2, 12) >>> range(2, 12, 3) >>> range(12, 2, -2)

И маленький пример с циклом.

>>> for x in range(10): ... print x ... 0 1 2 ..... 9

Ввод-вывод

Последнее, что следует знать перед тем как начать использовать Пайтон полноценно – это как осуществляется в нем ввод-вывод.

Для вывода используется команда print, которая выводит на печать все свои аргументы в удобочитаемом виде.

Для ввода с консоли используется функция raw_input(приглашение), которая выводит на экран приглашение и ожидает ввода пользователя, возвращая то что ввел пользователь в виде своего значения.

X = int(raw_input ("Введи число:")) print "Квадрат этого числа составляет ", x * x

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

Вот и все для первого урока.

Домашнее задание.

1. Составить программу расчета гипотенузы прямоугольного треугольника. Длина катетов запрашивается у пользователя.
2. Составить программу нахождения корней квадратного уравнения в общем виде. Коэффициенты запрашиваются у пользователя.
3. Составить программу вывода таблицы умножения на число M. Таблица составляется от M * a, до M * b, где M, a, b запрашиваются у пользователя. Вывод должен осуществляется в столбик, по одному примеру на строку в следующем виде (например):
5 х 4 = 20
5 х 5 = 25
И так далее.

Пошаговая инструкция для всех, кто хочет изучить программирование на Python (или программирование вообще), но не знает, куда сделать первый шаг.

Что делать?

Мы просмотрели множество обучающих материалов и просто хороших статей и составили список того, что необходимо изучить, чтобы освоить этот язык программирования и развиваться в нем.

1. Первым делом изучите основы. Узнайте, что такое переменные, управляющие структуры, структуры данных. Эти знания необходимы без привязки к конкретному языку.

2. Займитесь изучением литературы. Начните с классики – Dive into Python . Эта книга вообще может стать настольной. Еще можно почитать Майкла Доусона «Программируем на Python » и Алексея Васильева «Python на примерах. Практический курс по программированию» . Доусон – опытный программист и преподаватель, а в книге учит программировать, создавая простые игры. В книге Васильева, напротив, больше внимания уделяется основам и теории.

4. Пройдите курс «Введение в компьютерные технологии и программирование на языке Python» от MIT.

5. Узнайте, какие библиотеки и и для каких целей используют другие питонисты. Найдите что-то интересное для себя.

6. Если вас интересуют веб-технологии, обратите внимание на фреймворки Flask и Django. Узнайте, для каких целей какой из них лучше подходит, начните изучать тот, что подходит вам.

7. Узнайте, как получать и анализировать массивы данных с отдельных сайтов, со всего Интернета и вообще откуда угодно – только старайтесь держаться в рамках закона.

8. Ищите информацию о методах машинного обучения.

9. Оптимизируйте работу с инструментами, автоматизируйте рутину и все, что еще не автоматизировано.

Куда сходить?

Несколько полезных ссылок на ресурсы, которые помогут чуть меньше гуглить и определиться, в каком направлении работать.

Полезные ресурсы

Python Tutor

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

Bucky Roberts на YouTube

Если вы не знакомы с программированием, эти туториалы очень вам помогут. Они просты для понимания и охватывают все, что может пригодиться сначала, начиная с установки языка.

Derek Banas про Python на YouTube

Дерек – программист-самоучка, и у него свой взгляд на подход к изучению языков программирования. Он делает небольшие видеообзоры на различные языки длиной в 40-60 минут, в которых рассказывает все, что нужно, чтобы в общих чертах понять назначение языка.

Corey Schafer на YouTube

У Кори хорошие видео на тему форматирования строк, генераторов, программистских терминов (комбинации и перестановки, DRY, замыкания) и многого другого, что поможет понять основные концепции.

Django Getting Started

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

Введение во Flask

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

Полезные ссылки

Новичку

Python 3 для начинающих
«Укус Питона» (англ. «A Byte of Python»)

Python - мощный и простой для изучения язык программирования. В нём предоставлены удобные высокоуровневые структуры данных и простой, но эффективный подход к объектно-ориентированному программированию. Python интерпретируемый язык. Для запуска написанных программ требуется наличие интерпретатора CPython . Интерпретатор python и большая стандартная библиотека находятся в свободном доступе в виде исходных и бинарных файлов для всех основных платформ на официальном сайте Python http://www.python.org и могут распространяться без ограничений. Кроме этого на сайте содержатся дистрибутивы и ссылки на многочисленные модули третьих сторон и подробная документация.
Язык обладает чётким и последовательным синтаксисом, продуманной модульностью и масштабируемостью, благодаря чему исходный код написанных на Python программ легко читаем. Разработчики языка Python придерживаются определённой философии программирования, называемой «The Zen of Python». Её текст выдаётся интерпретатором по команде import this:

>>> import this The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren"t special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you"re Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it"s a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let"s do more of those!

В переводе это звучит так:

  • Красивое лучше, чем уродливое.
  • Явное лучше, чем неявное.
  • Простое лучше, чем сложное.
  • Сложное лучше, чем запутанное.
  • Плоское лучше, чем вложенное.
  • Разреженное лучше, чем плотное.
  • Читаемость имеет значение.
  • Особые случаи не настолько особые, чтобы нарушать правила.
  • При этом практичность важнее безупречности.
  • Ошибки никогда не должны замалчиваться.
  • Если не замалчиваются явно.
  • Встретив двусмысленность, отбрось искушение угадать.
  • Должен существовать один - и, желательно, только один - очевидный способ сделать это.
  • Хотя он поначалу может быть и не очевиден, если вы не голландец.
  • Сейчас лучше, чем никогда.
  • Хотя никогда зачастую лучше, чем прямо сейчас.
  • Если реализацию сложно объяснить - идея плоха.
  • Если реализацию легко объяснить - идея, возможно, хороша.
  • Пространства имён - отличная штука! Будем делать их побольше!

Python - активно развивающийся язык программирования, новые версии выходят примерно раз в два с половиной года. Вследствие этого и некоторых других причин на Python отсутствуют стандарт ANSI, ISO или другие официальные стандарты, их роль выполняет CPython.

История создания языка

Разработка языка Python была начата в конце 1980-х годов сотрудником голландского института CWI . Распределённой ОС Amoeba требовался расширяемый скриптовый язык для которой Гвидо ван Россум и создал Python. Новый язык позаимствовал некоторые наработки для языка ABC, который был ориентирован на обучение программированию. В феврале 1991 года Гвидо опубликовал исходный текст в ньюсгруппе alt.sources. Название языка произошло не от вида пресмыкающихся. Автор назвал язык в честь популярного британского комедийного телешоу 1970-х «Летающий цирк Монти Пайтона». Тем не менее эмблему языка изображают змеиные головы. После длительного тестирования, вышла первая версия Python 3.0. На сегодня поддерживаются обе ветви развития (Python 3.x и 2.x).

Python создавался под влиянием множества языков программирования: Modula-3, С, C++, Smalltalk, Lisp, Fortran, Java, Miranda, Icon. Несмотря на то, что Python обладает достаточно самобытным синтаксисом, одним из принципов дизайна этого языка является принцип наименьшего удивления.

Стандартная библиотека

Богатая стандартная библиотека является одной из привлекательных сторон Python. Здесь имеются средства для работы со многими сетевыми протоколами и форматами Интернета. Существуют модули для работы с регулярными выражениями, текстовыми кодировками, мультимедийными форматами, криптографическими протоколами, архивами. Помимо стандартной библиотеки существует множество библиотек, предоставляющих интерфейс ко всем системным вызовам на разных платформах.
Для Python принята спецификация программного интерфейса к базам данных DB-API 2 и разработаны соответствующие этой спецификации пакеты для доступа к различным СУБД: Oracle, MySQL, PostgreSQL, Sybase, Firebird (Interbase), Informix, Microsoft SQL Server и SQLite.
Библиотека NumPy для работы с многомерными массивами позволяет достичь производительности научных расчётов, сравнимой со специализированными пакетами. SciPy использует NumPy и предоставляет доступ к обширному спектру математических алгоритмов. Numarray специально разработан для операций с большими объёмами научных данных.
Python предоставляет простой и удобный программный интерфейс Си API для написания собственных модулей на языках Си и C++. Такой инструмент как SWIG позволяет почти автоматически получать привязки для использования C/C++ библиотек в коде на Python. Инструмент стандартной библиотеки ctypes позволяет программам Python напрямую обращаться к динамическим библиотекам, написанным на Си. Существуют модули, позволяющие встраивать код на С/C++ прямо в исходные файлы Python, создавая расширения «на лету».
Python и подавляющее большинство библиотек к нему бесплатны и поставляются в исходных кодах. Более того, в отличие от многих открытых систем, лицензия никак не ограничивает использование Python в коммерческих разработках и не налагает никаких обязательств кроме указания авторских прав.

Сферы применения

Python - стабильный и распространённый язык. Он используется во многих проектах и в различных качествах: как основной язык программирования или для создания расширений и интеграции приложений. На Python реализовано большое количество проектов, также он активно используется для создания прототипов будущих программ. Python используется во многих крупных компаниях.
Python с пакетами NumPy, SciPy и MatPlotLib активно используется как универсальная среда для научных расчётов в качестве замены распространенным специализированным коммерческим пакетам Matlab, IDL и др.
В профессиональных программах трехмерной графики, таких как Houdini и Nuke, Python используется для расширения стандартных возможностей программ.

Источники

Презентации

Домашнее задание

Подготовить сообщения:

Будучи удачно спроектированным языком программирования Python прекрасно подходит для решения реальных задач из разряда тех, которые разработчикам приходится решать ежедневно. Он используется в самом широком спектре применений - и как инструмент управления другими программными компонентами, и для реализации самостоятельных программ. Фактически круг ролей, которые может играть Python как многоцелевой язык программирования, практически не ограничен: он может использоваться для реализации

всего, что угодно, - от веб-сайтов и игровых программ до управления роботами и космическими кораблями.

Однако сферу использования Python в настоящее время можно разбить на несколько широких категорий. Следующие несколько разделов описывают наиболее типичные области применения Python в наши дни, а также инструментальные средства, используемые в каждой из областей. У нас не будет возможности заняться исследованием инструментов, упоминаемых здесь. Если какие-то из них заинтересуют вас, обращайтесь на веб-сайт проекта Python за более

Системное программирование

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

многое другое.

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

Кроме того, системные интерфейсы в языке Python созданы переносимыми, например сценарий копирования дерева каталогов не требует внесения изменений, в какой бы операционной системе он ни использовался. Система Stackless Python, используемая компанией EVE Online, также предлагает улучшенные решения, применяемые для параллельной обработки данных.

Графический интерфейс

Простота Python и высокая скорость разработки делают его отличным средством разработки графического интерфейса. В состав Python входит стандартный объектно-ориентированный интерфейс к Tk GUI API, который называется tkinter(B Python 2.6 он называется Tkinter)t позволяющий программам на языке Python реализовать переносимый графический интерфейс с внешним видом, присущим операционной системе. Графические интерфейсы на базе Python/

tkinter без изменений могут использоваться в MS Windows, X Window (в one-рационных системах UNIX и Linux) и Mac OS (как в классической версии, так и в OS X). Свободно распространяемый пакет расширения PMW содержит дополнительные визуальные компоненты для набора tkinter. Кроме того, существует прикладной интерфейс wxPython GUI API, основанный на библиотеке C++, который предлагает альтернативный набор инструментальных средств построения переносимых графических интерфейсов на языке Python.

Инструменты высокого уровня, такие как PythonCard и Dabot построены на основе таких API, как wxPython и tkinter. При выборе соответствующей библиотеки вы также сможете использовать другие инструменты создания графического интерфейса, такие как Qt (с помощью PyQt), GTK (с помощью PyGtk), MFC (с помощью PyWin32), .NET (с помощью IronPython), Swing (с помощью Jython - реализации языка Python на Java, которая описывается в главе 2, или JPype). Для разработки приложений с веб-интерфейсом или не предъявляющих высоких требований к интерфейсу можно использовать Jython, веб-фреймворки на языке Python и CGI-сценарии, которые описываются в следующем разделе и обеспечивают дополнительные возможности по созданию пользовательского интерфейса.

Веб-сценарии

Интерпретатор Python поставляется вместе со стандартными интернет-модулями, которые позволяют программам выполнять разнообразные сетевые операции как в режиме клиента, так и в режиме сервера. Сценарии могут производить взаимодействия через сокеты, извлекать информацию из форм, отправленных серверным CGI-сценариям; передавать файлы по протоколу FTP; обрабатывать файлы XML; передавать, принимать, создавать и производить разбор

писем электронной почты; загружать веб-страницы с указанных адресов URL; производить разбор разметки HTML и XML полученных веб-страниц; производить взаимодействия по протоколам XML-RPC, SOAP и Telnet и многое другое.

Библиотеки, входящие в состав Python, делают реализацию подобных задач удивительно простым делом.

Кроме того, существует огромная коллекция сторонних инструментов для создания сетевых программ на языке Python, которые можно найти в Интернете. Например, система HTMLGen позволяет создавать HTML-страницы на основе описаний классов Python. Пакет mod_python предназначен для запуска сценариев на языке Python под управлением веб-сервера Apache и поддерживает шаблоны механизма Python Server Pages. Система Jython обеспечивает

бесшовную интеграцию Python/Java и поддерживает серверные апплеты, которые выполняются на стороне клиента.

Помимо этого для Python существуют полноценные пакеты веб-разработки, такие как Django, TurboGears, web2py, Pylons, Zope и WebWare, поддерживающие возможность быстрого создания полнофункциональных высококачественных веб-сайтов на языке Python. Многие из них включают такие возможности, как объектно-реляционные отображения, архитектура Модель/Представление/Контроллер (Model/View/Controller), создание сценариев, выполняющихся на стороне сервера, поддержка шаблонов и технологии AJAX, предоставляя

законченные и надежные решения для разработки веб-приложений.

Интеграция компонентов

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

системы на языке С и C++ делает его удобным и гибким языком для описания поведения других систем и компонентов. Например, интеграция с библиотекой на языке С позволяет Python проверять наличие и запускать библиотечные компоненты, а встраивание Python в программные продукты позволяет производить настройку программных продуктов без необходимости пересобирать эти продукты или поставлять их с исходными текстами.

Такие инструменты, как Swing и SIP, автоматически генерирующие программный код, могут автоматизировать действия по связыванию скомпилированных компонентов в Python для последующего их использования в сценариях, а система Cython позволяет программистам смешивать программный код на Python и С. Такие огромные платформы на Python, как поддержка СОМ

в MS Windows, Jython - реализация на языке Java, IronPython - реализация на базе.NET и разнообразные реализации CORBA, предоставляют альтернативные способы организации взаимодействий с программными компонентами. Например, в операционной системе Windows сценарии на языке Python могут использовать платформы управления такими приложениями, как MS Word и Excel.

Приложения баз данных

В языке Python имеются интерфейсы доступа ко всем основным реляционным базам данных - Sybase, Oracle, Informix, ODBC, MySQL, PostgreSQL, SQLite и многим другим. В мире Python существует также переносимый прикладной программный интерфейс баз данных, предназначенный для доступа к базам данных SQL из сценариев на языке Python, который унифицирует доступ к различным базам данных. Например, при использовании переносимого API сценарий, предназначенный для работы со свободной базой данных MySQL, практически без изменений сможет работать с другими системами баз данных (такими как Oracle). Все, что потребуется сделать для этого, - заменить используемый низкоуровневый интерфейс.

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

Она представляет собой полностью объектно-ориентированную базу данных

для использования в сценариях на языке Python. Существуют также

инструменты, такие как SQLObject и SQLAlchemy, которые отображают

реляционные таблицы в модель классов языка Python. Начиная с версии Python 2.5,

стандартной частью Python стала база данных SQLite.

Быстрое создание прототипов

В программах на языке Python компоненты, написанные на Python и на С, выглядят одинаково. Благодаря этому можно сначала создавать прототипы систем на языке Python, а затем переносить выбранные компоненты на компили-рующие языки, такие как С и C++. В отличие от ряда других инструментов разработки прототипов, язык Python не требует, чтобы система была полностью переписана, как только прототип будет отлажен. Части системы, которые не требуют такой эффективности выполнения, какую обеспечивает C++, можно

оставить на языке Python, что существенно упростит сопровождение и использование такой системы.

Программирование математических

и научных вычислений

Расширение NumPy для математических вычислений, упоминавшееся выше, включает такие мощные элементы, как объекты массивов, интерфейсы к стандартным математическим библиотекам, и многое другое. Расширение NumPy - за счет интеграции с математическими библиотеками, написанными на компилирующих языках программирования - превращает Python в сложный, но удобный инструмент программирования математических вычислений, который зачастую может заменить существующий программный код, написанный на традиционных компилирующих языках, таких как FORTRAN и C++.

Дополнительные инструменты математических вычислений для Python поддерживают возможность создания анимационных эффектов и трехмерных объектов, позволяют организовать параллельные вычисления и так далее. Например, популярные расширения SciPy и ScientificPython предоставляют дополнительные библиотеки для научных вычислений и используют возможности расширения NumPy.

Игры, изображения, искусственный интеллект,

XML роботы и многое другое

Язык программирования Python можно использовать для решения более широкого круга задач, чем может быть упомянуто здесь. Например:

Создавать игровые программы и анимационные ролики с помощью

системы pygame

Обмениваться данными с другими компьютерами через последовательный

порт с помощью расширения PySerial

Обрабатывать изображения с помощью расширений PIL, PyOpenGL,

Blender, Maya и других

Управлять роботом с помощью инструмента PyRo

Производить разбор XML-документов с помощью пакета xml, модуля xmlrp-

clib и расширений сторонних разработчиков

Программировать искусственный интеллект с помощью эмулятора нейро-

сетей и оболочек экспертных систем

Анализировать фразы на естественном языке с помощью пакета NLTK.

Можно даже разложить пасьянс с помощью программы PySol. Поддержку многих других прикладных областей можно найти на веб-сайте PyPI или с помощью поисковых систем (ищите ссылки с помощью Google или на сайте http://www.python.org).

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

Кстати, у вас проблемы с блоком питания ноутбука? Советуем вам купить блоки питания для ноутбука по очень доступным ценам. На сайте компании darrom.com.ua вы найдете блоки питания для любого ноутбука.