Данная статья является исключительно ознакомительным материалом для понимания с ЧЕМ мы имеем дело в процессе разработки приложений.
Так как нам рано или поздно придется столкнутся с необходимостью программирования на 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
Комментариев нет:
Отправить комментарий