Все сводится к встроенным объектам в Python? Это зависит от того, что вы подразумеваете под вопросом, но если догадаться, что вы говорите о потоке кода, тогда ответ - нет.
Возьмите реализацию Python для C в качестве нашего эталона - помните, что существуют версии Python, написанные на Java, C # и даже Python.Модули могут быть написаны на C или C ++, поскольку для этого есть API.
Возьмите создание каталога (mkdir
).В какой-то момент это потребует вызова ядра, которое зависит от операционной системы.Например, будет интерфейс Windows и UNIX или Posix для выполнения вызова ядра, и он почти наверняка будет написан на C. Это потому, что большинство современных операционных систем имеют API ядра C, а не Python.
См., Например, Modules/posixmodule.c
в исходном коде Python, где вызывается интерфейс ядра ОС mkdir
.Интерфейсу C для создания каталога требуется только текстовая строка (, а не объект python str
), восьмеричное целое число C для разрешений и переменная для хранения ее результата.Они должны быть преобразованы между C и Python, но могут быть другие типы, используемые внутренне модулем, которые являются чистым C и не нуждаются в преобразовании обратно в python.
Только потому, что модуль написан на Cне означает, что это встроенный (часть модуля builtin
).Вы можете написать свой собственный модуль C и вызывать его из python - пользователю python не нужно знать, на каком языке он написан, который обычно невидим.