КАК РАБОТАЕТ ИНТЕРПРЕТАТОР PYTHON (CPython)

preview_player
Показать описание
В этом ролике рассказываю о том, как интерпретатор питона выполняет свою работу)

Поддержать:

#ityoutubers #ityoutubersru
Рекомендации по теме
Комментарии
Автор

Огромное спасибо за твой контент! Искал ответы по данному вопросу на других видео каналвх и способ подачи мягко говоря ну совсем не ложился в голову. У тебя же за 12 минут все разложилось по полочкам в голове и остается только ощущение эйфории от усвоенного материала! Еще раз спасибо за то что делаешь!

arturzhukovets
Автор

Работаю с питоном уже больше 2 года но не знал такого ))) не ожиданно. спасибо большое

webmasters
Автор

Готовлюсь попасть на стажировку в Яндекс и изучаю теорию по Python. Спасибо за понятное и доходчивое объяснение!

giddiness
Автор

Доброе видео, одобряю. Не понимал раньше, почему я не могу обработать синтаксические ошибки, чтоб программа не прерывалась, долго бился)

nicholasspezza
Автор

Спасибо. Очень интересно, понятно и доступно.

jeyhunaze
Автор

По больше таких роликов плез, я подписался. Хорошо если на канале будет отдельный плейлист, типо "Python под капотом".

djangodev
Автор

Мне кажется пример с делением на ноль не корректен. В go компиляция не прошла, но ничто не мешает присвоить переменным значения 1 и 0 и поделить их и спокойно всё скомпилируется. В java же System.out.println(1/0); скомпилировался и exception вызвался в процессе выполнения программы. В python уверен можно легко модифицировать интерпритатор, чтобы он проверял явное деление на ноль (типа 1/0)до выполнения программы, но в этом нет смысла. Мне кажется более валидный пример отличия динамического языка от статического языка в проверке типов, в python можно попасть на несоответствие типов в процессе выполнения, (например деление строки на число), а в статическом языке просто не скомпилируется программа.

Andrew-xbnv
Автор

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

zolterzolter
Автор

Спасибо ! Очень интересно! Просто о сложном!

donfedor
Автор

so it's very similar to javascript interpretators.. idk what's going on for python, but for the JS before even building the ATS, it runs a special parser embedded in the interpretator to check all that syntax stuff and does the caching..

i just wondered is there some sort of JIT compilers? as i know there are many of them like cpython..

overall this was interesting, thanks for the presentation !!

BoolFalse
Автор

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

_cher_Tex_
Автор

Я только не понял почему в Go и Java компилятор обработает деление на 0, а в Python нет. Можно делать разные по функционалу компиляторы?
второй момент: роль виртуальной машины в цепочке с интерпретатором? В ней находятся только всякие библиотеки и т.д.?
третий момент: смысл было делать тогда python интерпретируемым если это так урезает скорость?

АндрейОт
Автор

Если до просмотра ролика я не понимал то теперь я почти не понимаю

stalkerrentgen
Автор

Лутца читал но так наглядно как у вас не нашел.
А вы не рассказали про .pyc файлы.
И есть модуль dis который даёт возможность посмотреть как компилируется код.
А где искать __pycash__ ? И в чем разница между pycash .pyc файлами.

И как я понимаю вы обяснили как работает CPython?

RuslanSkiraUkraine
Автор

Какие процессы происходят после PVM это тайна покрытая мраком. Никто не объясняет почему-то. Как PVM общается с процессором. В машинный код байт-код не преобразуется?

Ttyttttu
Автор

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

татита-бж
Автор

Вот по мотивам видео задумался: Папочки __pycache__ создаются в пакетах. А если программка состоит из одного файла в корне, то ни __pycache__, ни pyc файлы не видны. Они не создаются или их надо искать где-то ещё?

MrLotrus