27.2. __builtin__ – Встроенные объекты¶__builtin__ – Built-in objects
Этот модуль предоставляет прямой доступ ко всем «встроенным» идентификаторам Python; например, __builtin__.open – полное имя встроенной функции open().
Обычно большинство приложений не обращаются к этому модулю явно, но он может быть полезен в модулях, которые предоставляют объекты с тем же именем, что и встроенное значение, но при этом также требуется встроенное значение с этим именем. Например, в модуле, который хочет реализовать функцию open(), оборачивающую встроенную open(), этот модуль может быть использован напрямую:
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.