Быстрый в изучении - мощный в программировании
Скрипт ИНВЕСТОР на Python

Попробуйте себя в качестве инвестора имея в помощники мощный алгоритм советника на Python...

Все уроки по PyQt5

PyQt5 реализован как комплект Python-модулей. Он включает в себя около 620 классов и 6000 функций и методов...

Скрипт отправки SMS через Python

Была задача отправить SMS-ки большому списку номеров телефона с уточнением цены за всю рассылку "До" ее отправки...

Archy

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

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

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

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

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

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

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

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

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

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

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

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

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

Выполнение программы на 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 сам интерпретатор может быть реализован как программа на языке С, как набор классов Java или в каком-либо другом виде.

 Независимо от используемой разновидности 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 3 объектно-ориентированный

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вообще же количество пользователей Python значительно больше и вокруг него сплотилось очень активное сообщество разработчиков. Благодаря тому, что Python появился более 19 лет тому назад и получил широкое  распространение, он отличается высокой стабильностью и надежностью. Python  используется не только отдельными пользователями, он также применяется  компаниями для создания продуктов, приносящих настоящую прибыль. Например:

• Компания Google широко использует Python в своей поисковой системе и оплачивает труд создателя Python.

• Служба коллективного использования видеоматериалов YouTube в  значительной степени реализована на языке Python.

• Популярная программа BitTorrent для обмена файлами в пиринговых  сетях (peer-to-peer) написана на языке Python.

• Популярный веб-фреймворк Арр Engine от компании Google использует Python в качестве прикладного языка программирования.

• Такие компании, как EVE Online и Massively Multiplayer Online Game (MMOG), широко используют Python в своих разработках.

• Мощная система трехмерного моделирования и создания  мультипликации Maya поддерживает интерфейс для управления из сценариев на языке Python.

• Такие компании, как Intel, Cisco, Hewlett-Packard, Seagate, Qualcomm и IBM, используют Python для тестирования аппаратного обеспечения.

• Такие компании, как Industrial Light & Magic, Pixar и другие, используют Python в производстве анимационных фильмов.

• Компании JPMorgan Chase, UBS, Getco и Citadel применяют Python для прогнозирования финансового рынка.

• NASA, Los Alamos, Fermilab, JPL и другие используют Python для научных вычислений.

• iRobot использует Python в разработке коммерческих роботизированных устройств. Далее...

После 17 лет работы с языком Python и 12 лет преподавания единственный  недостаток, который мне удалось обнаружить, - это скорость выполнения  программ, которая не всегда может быть такой же высокой, как у программ,  написанных на компилирующих языках программирования, таких как С или C++.

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

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

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

Далее...