このモジュールは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 の実装の下ではこのようになっていないかもしれません。