このモジュールはPythonの全ての「組み込み」識別子を直接アクセスするための
ものです。例えば __builtin__.open はopen()関数のための
全ての組み込み関数を表示します。
第2章, ``組み込みオブジェクト''も参照してください。
このモジュールは通常ほとんどのアプリケーションにおいて直接名指しで アクセスされることはありませんが、組み込みの名前と同じ名前のオブジェクトを 提供しつつ組み込みのその名前も必要であるようなモジュールにおいて有用です。 たとえば、open() という関数を組み込みの open() をラップして実装したいというモジュールがあったとすると、 このモジュールは次のように直接的に使われます。
import __builtin__
def open(path):
f = __builtin__.open(path, 'r')
return UpperCaser(f)
class UpperCaser:
'''Wrapper around a file that converts output to upper-case.'''
def __init__(self, f):
self._f = f
def read(self, count=-1):
return self._f.read(count).upper()
# ...
実装の詳細に属することですが、ほとんどのモジュールでは
__builtins__ ("s" に注意) がグローバルの一部として
使えるようになっています。__builtins__ の内容は通常このモジュール
そのものか、またはこのモジュールの__dict__ 属性です。
実装の詳細部分ということで、異なる Python の実装の下ではこのようになっていないかもしれません。