среда, 7 января 2009 г.

Python: Описание, установка, возможности

Данная статья является исключительно ознакомительным материалом для понимания с ЧЕМ мы имеем дело в процессе разработки приложений.

Так как нам рано или поздно придется столкнутся с необходимостью программирования на Python`e, то пошаговое его изучения для человка, желающего изучить Panda3D, становится некой догмой :). Итак что же такое Python и что он из себя представляет?

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

Python портируем и работает почти на всех известных платформах — от КПК до мейнфреймов. Существуют порты под Microsoft Windows, все варианты UNIX (включая FreeBSD и GNU/Linux), Plan 9, Mac OS и Mac OS X, Palm OS, OS/2, Amiga, AS/400 и даже OS/390 и Symbian.

По мере устаревания платформы ее поддержка в основной ветви языка прекращается. Например, с серии 2.6 прекращена поддержка Windows 95, Windows 98 и Windows ME.[7] Однако на этих платформах можно использовать предыдущие версии Python — на данный момент сообщество активно поддерживает версии Python начиная от 2.3 (для них выходят исправления).

При этом, в отличие от многих портируемых систем, для всех основных платформ Python имеет поддержку характерных для данной платформы технологий (например, Microsoft COM/DCOM). Более того, существует специальная версия Питона для виртуальной машины Java — Jython, что позволяет интерпретатору выполняться на любой системе, поддерживающей Java, при этом классы Java могут непосредственно использоваться из Питона и даже быть написанными на Питоне. Также несколько проектов обеспечивают интеграцию с платформой Microsoft .NET, основные из которых — IronPython и Python.Net.

К основным возможностям языка относят:

 - Классы являются одновременно объектами со всеми ниже приведёнными возможностями
 - Наследование, в том числе множественное.
 - Полиморфизм (все функции виртуальные).
 - Инкапсуляция (два уровня — общедоступные и скрытые методы и поля).
 - Специальные методы, управляющие жизненным циклом объекта: конструкторы, деструкторы, распределители памяти.
 - Перегрузка операторов (всех, кроме is, '.', '=' и символьных логических).
 - Свойства (имитация поля с помощью функций).
 - Управление доступа к полям (эмуляция полей и методов, частичный доступ, и т. п.).
 - Методы для управления наиболее распространёнными операциями (истинностное значение, len(), глубокое копирование, сериализация, итерация по объекту, …)
 - Метапрограммирование (управление созданием классов, триггеры на создание классов, и др.)
 - Классовые и статические методы, классовые поля.
 - Классы, вложенные в функции и классы.

Программное обеспечение (приложение или библиотека) на Питоне оформляется в виде модулей, которые в свою очередь могут быть собраны в пакеты. Модули могут располагаться как в папках так и в ZIP архивах. Модули могут быть двух типов по своему происхождению: модули, написанные на «чистом» Питоне, и модули расширения (extension modules), написанные на других языках программирования. Например, в стандартной библиотеке есть «чистый» модуль pickle и его аналог на Си: cPickle. Модуль оформляется в виде отдельного файла, а пакет — в виде отдельного каталога. Подключение модуля к программе осуществляется оператором import. После импорта модуль представлен отдельным объектом, дающим доступ к пространству имён модуля. В ходе выполнения программы модуль можно перезагрузить функцией reload().

Теперь, думаю, каждому будет понятно что из себя представляет инструмент для реализации наших идей и соображений.

Теперь что касается установки. Здесь есть несколько вариантов использования Python`a. В пакете движка Panda3D уже поставляется дистрибутив, но также можно скачать Python отдельным пакетом: Скачать Python 2.5.4

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

С уважением, Dredd

Комментариев нет:

Отправить комментарий