Ваш гид по интерпретатору Python 3.9. Разблокируйте внутреннюю работу языка Python, скомпилируйте интерпретатор Python из исходного кода, и участвуйте в разработке CPython: Есть ли в Python определенные части, которые кажутся волшебными? Мол, как словари работают намного быстрее, чем перебирать список в поисках элемента. Как генератор запоминает состояние переменных каждый раз, когда выдает значение, и почему вам никогда не нужно выделять память, как в других языках?
Оказывается, CPython, самая популярная среда выполнения Python, написана на понятном человеку коде C и Python ... Интерпретатор CPython абстрагируется от сложности базовой платформы C и вашей операционной систем
Это делает многопоточную работу кроссплатформенной и простой.
Он упрощает управление памятью в C и упрощает его.
Короче говоря, CPython дает вам платформу для написания масштабируемых и производительных приложений с использованием удобного и мощного синтаксиса Python ...
Однако эти абстракции несовершенны, и они часто "протекают":
Вот почему на каком-то этапе вашего развития в качестве разработчика Python вы можете извлечь большую пользу из понимания того, как CPython работает внутри.
«Заглянув за кулисы» среды выполнения Python, вы углубите свои навыки и станете настоящим "питонистом"...
Вы станете на один шаг ближе к истинному владению Python, что позволит вам писать красивый идиоматический код, который также является быстрым и эффективным.
Как только вы увидите, как Python работает на уровне интерпретатора, вы сможете оптимизировать свои приложения и полностью использовать возможности Python.
Немногие разработчики находят время, чтобы разобраться в своих инструментах на таком глубоком уровне - это верный способ произвести одинаковое впечатление как на коллег, так и на интервьюеров.
Эта книга объясняет концепции, идеи и технические особенности CPython доступным и практическим образом:
- Прочтите исходный код интерпретатора CPython 3.9. Вы глубоко поймете и оцените внутреннюю работу таких понятий, как списки, словари и генераторы.
- Внесите изменения в синтаксис Python и скомпилируйте собственную версию CPython с нуля. Вы настроите основные типы данных Python с помощью новых функций и запустите набор автоматизированных тестов CPython.
- Освойте возможности CPython по управлению памятью и масштабируйте свой код Python с помощью параллелизма.
- Отлаживайте код C и Python, как настоящий профессионал. Профилируйте и оцените производительность вашего кода Python и среды выполнения.
- Участвуйте в разработке CPython и знайте, как внести свой вклад в будущие версии интерпретатора Python и стандартной библиотеки. Как было бы здорово вернуться к сообществу в качестве «разработчика ядра Python»?