TGViewer
Python/ django Python/ django @pythonl · 58.5K subscribers
Post #3680 5.88K
🖥 Сколько строк на C нужно, чтобы выполнить a + b в Python?

Когда мы пишем на Python код наподобие a + b, конкретное поведение операции + определяют типы a и b. Каждый тип в Python имеет собственную реализацию оператора + (если этот тип поддерживает +), и интерпретатор Python сам выбирает подходящую реализацию для вызова на основании типа операндов. Весь этот процесс называется динамической диспетчеризацией.
И перед тем, как произойдёт само действие a + b, под капотом происходит очень много всего, что и описывается в статье.

А вот схема выполнения операции a + b в Python:

⏩Код на Python компилируется в байт-код, исполняемый стековой виртуальной машиной (VM) в CPython. Команда BINARY_OP отвечает за исполнение операции + с двумя операндами, a и b

⏩Сама VM не знает, как выполнять + с двумя объектами. Она делегирует эту задачу абстрактному интерфейсу объектов

⏩Абстрактный интерфейс объектов в CPython определяет интерфейс, поддерживающий стандартные операции уровня объектов в CPython. Это позволяет VM единым унифицированным образом исполнять все операторы, не зная подробностей реализации системы объектов. Абстрактный интерфейс диспетчеризирует исполнение конкретной реализации внутри типов при помощи таблицы поиска указателей функций в заголовке объекта

📎 Статья
📎 Ещё одна статья в тему

@pythonl
  • 👍 10
  • ❤ 4
  • 🔥 3
More from @pythonl
  1. Oct 17, 2026🧠 Python + Prolog: нейросети и строгая логика в одном процессе Clausal Prolog объединяет…
  2. Oct 17, 2026🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку Окружение решает больше, чем кажет…
  3. Oct 16, 2026🧠 Tencent открыла Hy Memory: общую память для ИИ-ассистентов и редакторов кода Система об…
  4. Oct 15, 2026🖥 Datadog научила профилировщик Python понимать asyncio: флеймграфы со «стеками из стеков…
  5. Oct 14, 2026📱 35 млрд параметров на смартфоне с потреблением около 3 ГБ оперативной памяти. OpenBMB п…
  6. Oct 12, 2026⚡️ Overmind - open-source слой для автоматической оптимизации AI-агентов. Вместо ручного т…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →