29.3. builtins — 内建对象


该模块提供对Python的所有“内置”标识符的直接访问;例如,builtins.open 是内置函数的全名 open() 。请参阅 内置函数内置常量 的文档。

大多数应用程序通常不会显式访问此模块,但在提供与内置值同名的对象的模块中可能很有用,但其中还需要内置该名称。例如,在一个想要实现 open() 函数的模块中,它包装了内置的 open() ,这个模块可以直接使用:

  1. import builtins
  2. def open(path):
  3. f = builtins.open(path, 'r')
  4. return UpperCaser(f)
  5. class UpperCaser:
  6. '''Wrapper around a file that converts output to upper-case.'''
  7. def __init__(self, f):
  8. self._f = f
  9. def read(self, count=-1):
  10. return self._f.read(count).upper()
  11. # ...

作为一个实现细节,大多数模块都将名称 __builtins__ 作为其全局变量的一部分提供。 __builtins__ 的值通常是这个模块或者这个模块的值 __dict__ 属性。由于这是一个实现细节,因此 Python 的替代实现可能不会使用它。