29.3. builtins
— 組み込みオブジェクト¶
このモジュールは Python の全ての「組み込み」識別子に直接アクセスするためのものです。例えば builtins.open
は組み込み関数 open()
の完全な名前です。ドキュメントは 組み込み関数 と 組み込み定数 を参照してください。
通常このモジュールはほとんどのアプリケーションで明示的にアクセスされることはありませんが、組み込みの値と同じ名前のオブジェクトを提供するモジュールが同時にその名前の組み込みオブジェクトも必要とするような場合には有用です。たとえば、組み込みの open()
をラップした open()
という関数を実装したいモジュールがあったとすると、このモジュールは次のように直接的に使われます:
import builtins
def open(path):
f = builtins.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__
が利用できるようになっています。 __builtins__
の内容は通常このモジュールそのものか、あるいはこのモジュールの __dict__
属性です。これは実装の詳細部分なので、異なる Python の実装では __builtins__
は使われていないこともあります。