Найти - Пользователи
Полная версия: Как выполнить скрипт питона без компиляции в байт код
Начало » Python для новичков » Как выполнить скрипт питона без компиляции в байт код
1 2
erebus
Доброго времени суток,
Такой вопрос:
1)исходный код Java сначало компилируеться в байт-код а после выполняеться на JVM;
2)исходный код Python сначало компилируеться в байт-код а после выполняеться на PVM;
Почему тогда говорят что исходный код на Python интерпритируеться а на Java - компилируеться?
И возможно ли виполнить Python-скрипт без компиляции в байт-код?
bismigalis
erebus
И возможно ли виполнить Python-скрипт без компиляции в байт-код?
питновский интерпретатор исполняет байт-код, который получается из AST, которое получается из текстового исходника, так что никак. Можно только указать интерпретатору не оставлять кеш байт-кода на диске.
Budulianin
erebus
Почему тогда говорят что исходный код на Python интерпритируеться а на Java - компилируеться?

Кто говорит-то ?

Благодаря такой реализации: байт-код -> vm, эти ЯП кроссплатформенные.

В Java есть JIT компилятор, но он интерпретируемый ЯП.
erebus
Спасибо большое, вродебы все понял. Тогда последний вопрос:
Возможно ли изменять код программы во время её исполнения не прерывая исполнения. Только не перезагружать отдельные модули(используя reload), а к примеру исходный код какого-то метода во время его исполнения?
Насколько я понял весь текст программы сначало компилируеться в байт код, поэтому сделать выше сказанное невозможно.Но может я не прав?
doza_and
erebus
не прав
def f():
    print("a")
f()
def f():
    print("b")
f()
erebus
doza_and
Возможно я не совсем правильно объяснил. Нужно к примеру в какой-то части исходного кода установить точку останова, далее изменить исходный код и продолжить выполнение.
Budulianin
erebus
Спасибо большое, вродебы все понял.

Чтобы не оставаться в неведении, прочитай хотя бы на вики про Java и Python.

erebus
Возможно ли изменять код программы во время её исполнения не прерывая исполнения.

Из самой программы?
Singularity
erebus
кода установить точку останова, далее изменить исходный код и продолжить выполнение.
Erlang же!
erebus
Budulianin
Не из самой программы, я имел в виду: приостановить программу->изменить код->продолжить выполнение.

Singularity
Благодарю за информацию про Erlang, но как насчет Python?
Singularity
erebus
я уверен на 100% что тебе не надо этого делать в продакшене.

Или ты просто хочешь дебагер ?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB