Python интерпретатор что это

Sysadminium

Из статьи вы узнаете, из каких элементов состоит Интерпретатор Python, как он работает и на каком языке он написан.

Компилируемые и интерпретируемые языки программирования

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

Если язык программирования компилируемый, например С. То написав код программы, вы должны вначале этот код скомпилировать, то есть целиком перевести на машинный язык. Далее, полученный бинарный файл можно будет выполнять. Такие, бинарные файлы, платформа-зависимы, то есть для разных операционных систем или типов процессоров нужно отдельно компилировать высокоуровневый код. Зато бинарные файлы очень быстрые, ведь в них записан машинный код, который выполняется напрямую процессором.

А если язык программирования интерпретируемый, например Python. То написанный код может выполняться на любой операционной системе, главное чтобы там был установлен Интерпретатор этого языка. Это называется — платформонезависимость. Интерпретатор построчно выполняет высокоуровневый код. При этом, построчно переводит инструкции с высокоуровневого языка на машинный язык. Такое выполнение намного медленнее, чем выполнение скомпилированной программы.

Читайте также:  Unit testing with python

Интерпретатор Python

Как вы уже поняли, язык Python — интерпретируемый. Это означает, чтобы в вашей операционной системе работал код, написанный на Python, вам нужно установить Интерпретатор Python.

Выполняет написанный высокоуровневый код, не процессор, а именно Интерпретатор. Например, чтобы выполнить код на языке Python, вы обычно выполняете подобную команду:

То есть вы просите интерпретатор (python3) выполнить код, написанный в файле (program.py). Интерпретатор читает и выполняет файл и выдаёт нам результат.

Но давайте поближе познакомимся с Интерпретатором Python, ведь он не так прост как кажется. Он написан на языке С, и что более интересно, он содержит в себе компилятор. Этот встроенный компилятор переводит написанный на языке Python код в байт-код.

Байт-код это не машинный код, то-есть он не выполняется напрямую на процессоре. Зато он выполняется быстрее, чем выполнялся бы высокоуровневый код на Python. А ещё байт-код остаётся платформонезависимым, то есть не зависит от операционной системы и типа процессора. Байт-код выполняется на специальной виртуальной машине, которая тоже встроена в Интерпретатор Python (Python VM — PVM).

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

  1. Мы просим интерпретатор (python3) выполнить написанную программу (program.py).
  2. Интерпретатор забирает файл программы и отдаёт её компилятору.
  3. Компилятор создаёт байт-код (program.pyc) и выполняет его на виртуальной машине (PVM).
  4. И в конце мы получаем результат.

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

Такая схема ускоряет выполнение написанного на Python кода. А такой интерпретатор называется CPython — ведь он написан на C.

Некоторые, умные люди, посмотрели на эту схему и сделали другие реализации интерпретаторов для Python:

  • Jython — компилятор компилирует исходный код в байт-код Java, а затем выполняет его на JVM.
  • IronPython — подобная реализация для .NET.
  • Есть и другие реализации Интерпретаторов Python.

Итог

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

По этой же теме можете посмотреть интересное видео.

Возможно Вам также понравиться следующая статья — Python 3. Вывод текста на консоль. Функция print().

Источник

Как работает Python: интерпретатор, байт-код, PVM

Python — интерпретируемый язык программирования. Он не конвертирует свой код в машинный, который понимает железо (в отличие от С и С++). Вместо этого, Python-интерпретатор переводит код программы в байт-код, который запускается на виртуальной машине Python (PVM). Давайте рассмотрим подробнее, как это работает на примере самой популярной реализации интерпретатора — CPython.

Интерпретатор — это программа, которая конвертирует ваши инструкции, написанные на Python, в байт-код и выполняет их. По сути интерпретатор — это программный слой между вашим исходным кодом и железом.

Существует 2 типа интерпретаторов:

  • Простой интерпретатор . Он берет одну инструкцию, транслирует и сразу выполняет ее, а затем берет следующую инструкцию.
  • Интерпретатор компилирующего типа . Это система из компилятора и интерпретатора. Компилятор переводит исходный код программы в промежуточное представление (байт-код), а интерпретатор (виртуальная машина) выполняет этот байт-код.
  • Интерпретатор компилирующего типа (благодаря этому достигается большее быстродействие выполнения программ).
  • Считается эталонной реализацией языка Python.
  • Написан на C.
  • Исходный код CPython находится в открытом доступе.
  • Его разработка ведётся группой разработчиков под руководством Гвидо ван Россума — создателя Python.

Кроме этого, у интерпретатора CPython есть особенность — он может работать в режиме диалога (REPL — read-eval-print loop). Интерпретатор считывает законченную конструкцию языка, выполняет её, печатает результаты и переходит к ожиданию ввода пользователем следующей конструкции.

Как CPython выполняет программы

Интерпретатор «Питона» выполняет любую программу поэтапно.

Этап #1. Инициализация

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

Помимо этого, происходит ряд подготовительных процессов:

  • анализ аргументов командной строки;
  • установка флагов программы;
  • чтение переменных среды и т.д.

Этап #2. Компиляция

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

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

Этап #3. Выполнения

Как только байт-код скомпилирован, он отправляется на виртуальную машину Python (PVM). Здесь выполняется байт-код на PVM. Если во время этого выполнения возникает ошибка, то выполнение останавливается с сообщением об ошибке.

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

Альтернативы CPython

CPython является стандартной реализацией, но существуют и другие реализации, созданные для специфических целей и задач.

Jython

Основная цель данный реализации — тесная интеграция с языком Java. Работает следующим образом:

  1. Java-классы выполняют компиляцию программного кода на языке Python в байт-код Java.
  2. Полученный байт-код запускается на виртуальной машине Java (JVM).

Jython позволить Python-программам управлять Java-приложениями. Во время выполнения такая программа ведет себя точно так же, как настоящая программа на языке Java.

IronPython

Предназначена для обеспечения интеграции Python-программ с C# приложениями на Microsoft .NET Framework или Mono. Принцип работы такой же, как и у Jython.

PyPy

PyPy — это интерпретатор Python, написанный на Python (если быть точнее, то на RPython).

Особенностью PyPy является использование трассирующего JIT-компилятора (just-in-time), который на лету транслирует некоторые элементы в машинный код. Благодаря этому, при выполнении некоторых операций PyPy обгоняет CPython в несколько раз. Но плата за такую производительность — более высокое потребление памяти.

Источник

Как установить Python на компьютер и начать на нём писать

Воспользуйтесь Google Colab, онлайн-интерпретаторами или скачайте Python.

как установить Python

Язык программирования Python используют, чтобы решать разные задачи: в программных скриптах, веб-разработке, data science и машинном обучении. Еще на Python пишут игры, программы и мобильные приложения. Из статьи узнаете, как установить Python на Windows, MacOS и Linux.

Что такое интерпретатор

Интерпретатор Python — встроенная программа, которая выполняет исходный код. Интерпретатор выступает в роли дешифровщика. Написанный код переводится в байт-код и выполняется. Создавать код можно даже в блокноте, главное — поставить расширение .py.

Как выбрать версию

Python — это интерфейс. У него есть несколько реализаций: Jython, PyPy, IronPython. Но самая распространенная — CPython. Она считается версией «по умолчанию». Ее мы и будем рассматривать в дальнейшем.

Как установить Python

  1. Скачайте официальные установочные файлы. Версии, которые начинаются с цифры «2», лучше не использовать. Python прекратил их поддержку в 2020 году.
  2. Запустите скачанный файл и выберите Install Now. Не забудьте поставить галочку в разделе Add Python 3.x to PATH. Эта функция нужна, чтобы не указывать интерпретатору маршрут к исходнику при каждом запуске. Как установить Python
  3. Если установка прошла успешно, в меню «Пуск» появится папка Python.Python в меню ПК

На большинстве MacOS Python входит в стандартный пакет программ. Некоторые системы поддерживают сразу две версии. Проверьте, есть ли Python в терминале, командой: python —version.

    Чтобы установить Python, рекомендуется использовать менеджер программ Homebrew. Если его нет, откройте терминал и наберите:

xcode-select --install ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Многие сборки Linux также включают Python в свой стандартный пакет. Команды для установки Python на разных дистрибутивах Linux могут отличаться. Для Linux на основе Debian (Ubuntu) подойдет команда:

sudo apt-get install python3

Как проверить, работает ли программа

  1. Наберите в командной строке python или python3. Если вы всё выполнили правильно, увидите номер версии и список команд:
help, copyright, credits, license

Как проверить, работает ли python

Теперь введите переменную:

variable = 'Hello World!'/code>

Как запустить Python

Единственный способ узнать, работает ли код, — запустить его. Скрипты можно запускать по-разному.

    В командной строке.Классический метод, чтобы написать код в Python, — с помощью текстовых файлов. По умолчанию они будут использовать расширение типа .py. Возьмите код из примера выше:

И сохраните файл в текущем рабочем каталоге как hello.py. Чтобы запустить код, наберите python3 в командной строке, а затем укажите путь:

Как запустить Python

  • В файловом менеджере.Если скрипт сохранен как отдельный файл типа .exe, для запуска просто кликните на него мышью. Чтобы консоль оставалась открытой в течение всего запуска, нужно добавить в конце скрипта input().
  • В интерактивном режиме.
  • https://sky.pro/media/knigi-pro-python/

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

    • Если вы ставили галочку, когда устанавливали Python, чтобы добавить переменную среды, в терминале наберите python (или python3) и запустите по кнопке Enter. После увидите такую строку:
    • Если переменная среды отсутствует, попробуйте прописать полный путь к программе. Вот пример такого пути: C:\Python30\python. Запустите (нажмите Enter).

    Чтобы в интерактивном режиме воспользоваться одной из стандартных для Python библиотек, ее нужно импортировать. Для этого введите строку:

    импорт runpy Python

    На скрине: импорт runpy — стандартной библиотеки Python. Она позволяет запускать скрипты без их предварительного импорта.

        В IDE или редакторе кода.IDE — это интегрированная среда разработки Python. Выглядит как текстовый редактор с функциями, в котором легче писать код. Например, тут есть встроенный компилятор, автозаполнение тегов. Большинство IDE позволяют запускать скрипт в один клик, поэтому такие редакторы часто используют при работе над крупными проектами. Один из популярных IDE — VS Code. В нём встроен терминал для запуска кода. Чтобы открыть его, зайдите в командную строку и создайте папку hello. Затем откройте ее в VS Code и выберите View → Terminal. Наберите python и попробуйте вывести простой код. Например:

      Источник

    Оцените статью