В Python, особенно в стандартной библиотеке, многие встроенные функции и модули реализованы на языке C для повышения производительности. Файл `builtins.py`, который вы открываете, содержит только описание (документацию) встроенных функций и их привязки к реализациям, находящимся в других местах.
### Как найти реализацию встроенных функций
1. **Исходный код CPython:** Изучите исходный код Python, чтобы найти реализации встроенных функций. Исходный код CPython доступен на GitHub:
- Ссылка на репозиторий: [https://github.com/python/cpython](https://github.com/python/cpython)
- Внутри проекта ищите папку `Modules`. Там находятся реализации многих встроенных функций на языке C.
- Также, некоторые функции реализованы в файле `Python/bltinmodule.c`.
2. **Поиск по коду:** Используйте поиск по репозиторию на GitHub, чтобы найти конкретную функцию. Например, если вы ищете реализацию функции `len`, просто введите `len` в поиске.
3. **Документация Python:** Официальная документация также может дать полезную информацию касательно реализации встроенных функций и типов.
### Как Python определяет реализацию функций
1. **Привязки (Bindings):** Встроенные функции в Python реализованы в виде привязок к кодам, которые написаны на C. Например, функция `len`, когда вызывается, будет перенаправлена на соответствующую реализацию в C.
2. **Структура PyMethodDef:** В языке C функции регистрируются с помощью структуры `PyMethodDef`, которая связывает имена функций с их реализациями на C. В процессе инициализации Python, эти привязки добавляются в глобальный namespace, и Python может быстро их находить.
3. **Импортированные модули:** Для других модулей, написанных на C, структуру реализации можно найти в заголовочных файлах и `.c` файлах, которые соответствуют этим модулям.
### Дополнительные ресурсы
- **Python Developer's Guide:** Для более глубокого понимания работы с C API Python, вы можете обратиться к документации для разработчиков Python (Python Developer’s Guide).
- **Сообщество:** Для получения ответов на более специфичные вопросы, вы можете обратиться к сообществу, например, на Stack Overflow или в форумах, посвященных Python.
Так что, если вы хотите углубиться в реализацию функций, изучение исходного кода CPython станет лучшим препаратом!