Лекция 1_ 01.09.15
.pdf
Переносимость программ
•Выполняется без измененийна всех основных платформах.
•Python предоставляет массу возможностейпо созданию переносимых графических интерфейсов, программ доступа к базам данных, веб-приложений многих других типов программ.
•Программы на языке Python могут выполняться на самом широком спектре устройств, начиная от наладонных компьютеров (PDA) и заканчивая суперкомпьютерами.
…
Библиотеки поддержки
Библиотека в программировании — сборник подпрограмм или объектов, используемых для разработки программного обеспечения.
•Стандартная библиотека.
•NumPy - поддержка больших многомерных массивов и матриц.
•SciPy и ScientificPython - дополнительные библиотеки для научных вычислении.̆
Интеграция компонентов
Python – не обособленныйинструмент.
Программныйкод на языке Python имеет возможность:
•вызывать функции из библиотек на языке C/C++,
•сам вызываться из программ, написанных на языке C/C++,
•интегрироваться с программными компонентамина языке Java,
•взаимодeйствоватьс такими платформами, как COM и .NET,
•производить обмен данными через последовательныйпорт или по сети с помощью таких протоколов, как SOAP, XML-RPC и CORBA.
Недостатки – обратная сторона достоинств.
Низкая скорость выполнения программ по сравнению с компилирующими языками программирования.
Python компилирует инструкции исходного программного кода в промежуточное представление, известное как байт-код, и затем интерпретирует этот байт-код с помощью виртуальной машины (PVM):
Байт-код - это компактное представление программы, уже прошедшей синтаксический и семантический анализ. В нём в явном виде
закодированы типы, области видимости и т. п. Он представляет собой машиннонезависимый код низкого уровня и обеспечивает переносимость программ. Однако из-за того, что Python не создает двоичныймашинныйкод, программы на нем чаще работают медленнее своих аналогов, написанных на компилирующих языках, таких как C. Обход инструкцийвыполняет виртуальная машина, а не микропроцессор.
Сильные и слабые стороны Python
Интеграция компонентов
“Свободный”
Качество
программного
обеспечения
Высокая скорость разработки
Библиотеки
поддержки
Переносимость |
Низкая скорость |
|
программ |
||
выполнения программ |
||
|
Парадигма программирования
Python – объектно-ориентированныйязык сценариев.
Поддерживает оба стиля программирования – процедурныйи объектно-ориентированный.
ООП Процедурное Функциональное
Процедурное программирование — программирование при котором последовательно выполняемые операторы можно собрать в подпрограммы, то есть более крупные целостные единицы кода, с помощью механизмов самого языка.
Объектно-ориентированное программирование — это стиль кодирования, который позволяет разработчику группировать схожие задачи в классы. Таким образом код соответствует принципу DRY (don't repeat yourself – не повторяй самого себя) и становится лёгким для сопровождения.
Термин «язык сценариев» имеет множество различных толкований:
Командные оболочки. Запускаются из команднойстроки с консоли и решают такие задачи, как обработка текстовых файлов и запуск других программ.
Управляющийязык. «Cвязующий» слой, которыйиспользуется для управления другими прикладными компонентами (то есть для описания сценария работы).
Простой язык, используемый для быстрого решения задач.
Python предназначен не только для решения простых задач. Скорее, он упрощает решение задач благодаря своей простоте и гибкости.
Для решения каких задач используется Python?
ПрограммированиеПрограм ование
Системное программирование математическихтематических и научныхи
вычислений
научных вычислений
Веб-сценарии
Графическийинтерфейс
Быстрое создание прототипов
Приложения баз данных
И многое другое…
Системное программирование
•Встроенные в Python интерфейсы доступа к службам операционных систем делают его идеальным инструментом для создания переносимых программ и утилит системного администрирования.
•Системные интерфейсы созданы переносимыми.
•Стандартная библиотека Python полностью отвечает требованиям стандартов POSIX, описывающих интерфейсы между операционной
системой и прикладной программой и поддерживает все типичные инструменты операционных систем:
•переменные окружения,
•файлы,
•сокеты,
•каналы,
•процессы,
•многопоточную модель выполнения,
•поиск по шаблону с использованием регулярных выражений,
•аргументы команднойстроки,
•стандартные интерфейсы доступа к потокам данных,
•запуск команд оболочки,
•дополнение имен файлов и многое другое.
Графическийинтерфейс
•В состав Python входит стандартныйобъектно-ориентированныйинтерфейс к Tk GUI API, которыйназывается tkinter, позволяющийпрограммам на языке Python реализовать переносимыйграфическийинтерфейс с внешним видом, присущим операционнойсистеме.
•Графические интерфейсы на базе Python/ tkinter без изменениймогут использоваться в MS Windows, X Window (в операционных системах UNIX и Linux) и Mac OS.
•Свободно распространяемыйпакет расширения PMW содержит дополнительные визуальные компоненты для набора tkinter.
•существует прикладнойинтерфейс wxPython GUI API, основанныйна библиотеке C++, которыйпредлагает альтернативныйнабор инструментальных средств построения переносимых графических интерфейсов на языке Python.
•Для разработки приложенийс веб-интерфейсом или не предъявляющих высоких требованийк интерфейсу можно использовать Jython, вебфреймворки на языке Python и CGI-сценарии, которые обеспечивают дополнительные возможности по созданию пользовательского интерфейса.
