4.4. Python

Python — высокоуровневый язык программирования общего назначения с акцентом на производительность и читаемость кода. Язык Python сочетает в себе минимализм синтаксиса ядра и большой объем полезных функций в стандартной библиотеке.

Python поддерживает структурную, объектно-ориентированную, функциональную, императивную и аспектно-ориентированную парадигмы.

Его основные архитектурные черты:

  1. динамическая типизация

  2. автоматическое управление памятью

  3. полная интроспекция

  4. механизм обработки исключений

  5. поддержка многопоточных вычислений

  6. удобные высокоуровневые структуры данных

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

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

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

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