> **Источник:** https://python-all.ru/2.6/library/__builtin__.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# 27.2. `__builtin__` – Встроенные объекты

Этот модуль предоставляет прямой доступ ко всем «встроенным» идентификаторам Python; например, `__builtin__.open` – полное имя встроенной функции [`open()`](https://python-all.ru/2.6/library/functions.html#open).

Обычно большинство приложений не обращаются к этому модулю явно, но он может быть полезен в модулях, которые предоставляют объекты с тем же именем, что и встроенное значение, но при этом также требуется встроенное значение с этим именем. Например, в модуле, который хочет реализовать функцию [`open()`](https://python-all.ru/2.6/library/functions.html#open), оборачивающую встроенную [`open()`](https://python-all.ru/2.6/library/functions.html#open), этот модуль может быть использован напрямую:

```python
import __builtin__

def open(path):
    f = __builtin__.open(path, 'r')
    return UpperCaser(f)

class UpperCaser:
    '''Обёртка для файла, преобразующая вывод в верхний регистр.'''

    def __init__(self, f):
        self._f = f

    def read(self, count=-1):
        return self._f.read(count).upper()

    # ...
```

**Особенность реализации CPython:** У большинства модулей есть имя `__builtins__` (обратите внимание на `'s'`), доступное в их глобальном пространстве имён. Значением `__builtins__` обычно является либо этот модуль, либо значение атрибута `__dict__` этого модуля. Поскольку это деталь реализации, она может не использоваться в альтернативных реализациях Python.
