Быстрый в изучении - мощный в программировании
>> Telegram ЧАТ для Python Программистов

Свободное общение и помощь советом и решением проблем с кодом! Заходите в наш TELEGRAM ЧАТ!

>> Python Форум Помощи!

Мы создали форум где отвечаем на все вопросы связанные с языком программирования Python. Ждем вас там!

>> Python Канал в Telegram

Обучающие статьи, видео и новости из мира Python. Подпишитесь на наш TELEGRAM КАНАЛ!

Разновидности модели выполнения

Прежде чем двинуться дальше, я должен заметить, что внутренний поток 

выполнения, описанный в предыдущем разделе, отражает современную 

стандартную реализацию интерпретатора Python, которая в действительности не

является обязательным требованием самого языка Python. Вследствие этого

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

существуют системы, которые несколько меняют картину, представленную на

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

заметными изменениями. Далее...

Производительность и скорость разработки Python 3

Читатели, имеющие опыт работы с компилирующими языками 

программирования, такими как С и C++, могут заметить несколько отличий в модели 

выполнения Python. Первое, что бросается в глаза, - это отсутствие этапа сборки,

или вызова утилиты «make»: программный код может запускаться сразу же,

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

машинным кодом (например, инструкциями для микропроцессора Intel). Байт-

код - это внутреннее представление программ на языке Python.

По этой причине программный код на языке Python не может выполняться

так же быстро, как программный код на языке С или C++, о чем уже 

говорилось в главе 1. Обход инструкций выполняет виртуальная машина, а не 

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

интерпретация, инструкции которого требуют на выполнение больше времени,

чем машинные инструкции микропроцессора. С другой стороны, в отличие от

классических интерпретаторов, здесь присутствует дополнительный этап 

компиляции - интерпретатору не требуется всякий раз снова и снова 

анализировать инструкции исходного текста. В результате Python способен обеспечить

скорость выполнения где-то между традиционными компилирующими и 

традиционными интерпретирующими языками программирования. Далее...

Виртуальная машина Python (PVM)

Как только программа будет скомпилирована в байт-код (или байт-код будет

загружен из существующих файлов .рус), он передается механизму под 

названием виртуальная машина Python (PVM - для любителей аббревиатур). 

Аббревиатура PVM выглядит более внушительно, чем то, что за ней стоит на самом

деле, - это не отдельная программа, которую требуется устанавливать. 

Фактически PVM - это просто большой цикл, который выполняет перебор инструкций в байт-коде, одну за одной, и выполняет соответствующие им операции.

PVM - это механизм времени выполнения, она всегда присутствует в составе

системы Python и это тот самый программный компонент, который выполняет

ваши сценарии. Формально - это последняя составляющая того, что называют

«интерпретатором Python». Далее...

Python 3 - Компиляция в байт-код

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

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

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

Выполнение программы на Python 3

Выполнение программы на Python 3
Что стоит за словами «написать и запустить программу на языке Python» зависит от того, как вы смотрите на эту задачу - как программист или как интерпретатор Python. Обе точки зрения определяют свой взгляд на программирование.

С точки зрения программиста

Программа на языке Python, в самой простой форме, - это обычный текстовый файл, содержащий инструкции Python. Например, следующий файл, с именем scriptO.py, - это один из простейших сценариев на языке Python, который только можно придумать, но его официально можно назвать программой на языке Python:

print('hello world')
pnntB ** 100)

Этот файл содержит две инструкции print, которые просто выводят строку (текст в кавычках) и результат числового выражения B в степени 100) в выходной поток. Не надо сейчас стараться вникнуть в синтаксис языка - в этой главе нас интересует лишь сам порядок запуска программ.

 Позднее я расскажу об инструкции print и объясню, почему можно возвести число 2 в степень 100, не опасаясь получить ошибку переполнения.Далее...

Введение в интерпретатор Python

До сих пор я говорил о Python в основном как о языке программирования. Но в текущей реализации это еще и программный пакет , который называется интерпретатором. Интерпретатор - это такой модуль, который исполняет другие программы. Когда вы пишете код на языке Python, интерпретатор Python читает вашу программу и выполняет составляющие ее инструкции. По сути дела интерпретатор - это слой программной логики между вашим программным кодом и аппаратурой вашего компьютера.

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

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

Далее...

Что можно делать с помощью Python?

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

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

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

подробной информацией. Далее...

Какими преимуществами обладает Python перед другими языками?

Наконец, чтобы разместить язык Python среди уже, возможно, известных вам понятий, сравним Python с другими языками программирования, такими как Perl, Tel и Java. Ранее мы уже говорили о проблеме производительности, поэтому здесь мы сосредоточим свое внимание на функциональных возможностях.

Другие языки программирования также являются достаточно полезными ин-струментами, чтобы знать и использовать их, но многие программисты находят, что Python:

• Имеет более широкие возможности, чем Tel. Язык Python поддерживает «программирование в целом», что делает его применимым для разработки крупных систем.

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

• Проще и удобнее, чем Java. Python - это язык сценариев, a Java унаследовала сложный синтаксис от таких языков программирования, как C++.

• Проще и удобнее, чем C++, но нередко он не может конкурировать с C++, поскольку, будучи языком сценариев, Python предназначен для решения другого круга задач. Далее...

В чем сильные стороны Python?

Естественно - это вопрос разработчика. Если у вас еще нет опыта 

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

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

позднее, в ходе изложения материала. А для разработчиков ниже приводится 

краткое введение в некоторые особенности языка Python.

Python 3 объектно-ориентированный

Python изначально является объектно-ориентированным языком 

программирования. Его объектная модель поддерживает такие понятия, как 

полиморфизм, перегрузка операторов и множественное наследование, однако, 

учитывая простоту синтаксиса и типизации Python, ООП не вызывает сложностей

в применении. Если эти термины вам непонятны, позднее вы обнаружите, что

изучать Python гораздо легче, чем другие объектно-ориентированные языки

программирования. Далее...

Как осуществляется поддержка Python?

Вторник, 19 июля 2011 г.   Archy Общие вопросы

Будучи популярным и открытым проектом, Python имеет многочисленное

и активное сообщество разработчиков, которые решают проблемы и вносят

улучшения со скоростью, которую многие коммерческие разработчики сочли

бы поразительной (если не шокирующей). Деятельность разработчиков Python

координируется с помощью системы управления исходными текстами. 

Изменения в языке принимаются только после прохождения формальной 

процедуры (известной как «программа совершенствования продукта», или PEP)

и должны сопровождаться обширными наборами тестов для системы 

регрессивного тестирования Python. Фактически в настоящее время работа над 

Python мало чем отличается от работы над коммерческими программными 

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

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

электронной почте. Но самое главное преимущество проекта - огромное количество 

добровольных помощников. Далее...