Ресурсов о том, как работает стандартная реализация Python (CPython) внутри, мало. Пробиваться самому сквозь не самый очевидный код на C — задача для питониста очень сложная. Чтение кода на C требует определённой практики. Серия лекций, прочитанная Филипом Гио, — хорошая отправная точка.

Филип подробно рассказывает о внутренних структурах Python, проводя студентов от байт‑кода к структурам, написанным на C.

Темы, охваченные курсом:

  1. Байт‑код и главный цикл интерпретатора.
  2. Фреймы, вызовы функций, области видимости.
  3. PyObject.
  4. Типы данных в Python.
  5. Объект с кодом, объект функции.
  6. Итераторы.
  7. Классы и объекты.
  8. Генераторы.

Рассказ ведётся с большим количеством примеров. Каждое погружение внутрь Python начинается с конкретного кусочка кода на Python. Потом разбирается получившийся байт‑код. Дальше — уже команда за командой — разбирается реализация команд байт‑кода на C.

Хотелось бы, чтобы таких курсов было больше. Я бы даже хотел хороший курс на ресурсе вроде Coursera с заданиями. Может, такой курс уже есть?