26.2 __builtin__ -- 組み込みオブジェクト

このモジュールはPythonの全ての「組み込み」識別子を直接アクセスするための ものです。例えば __builtin__.openopen()関数のための 全ての組み込み関数を表示します。 第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 の実装の下ではこのようになっていないかもしれません。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。