builtins
--- 內建對象?
該模塊提供對Python的所有“內置”標識符的直接訪(fǎng)問(wèn);例如,builtins.open
是內置函數的全名 open()
。請參閱 內置函數 和 內置常量 的文檔。
大多數應用程序通常不會(huì )顯式訪(fǎng)問(wèn)此模塊,但在提供與內置值同名的對象的模塊中可能很有用,但其中還需要內置該名稱(chēng)。例如,在一個(gè)想要實(shí)現 open()
函數的模塊中,它包裝了內置的 open()
,這個(gè)模塊可以直接使用:
import builtins
def open(path):
f = builtins.open(path, 'r')
return UpperCaser(f)
class UpperCaser:
'''Wrapper around a file that converts output to uppercase.'''
def __init__(self, f):
self._f = f
def read(self, count=-1):
return self._f.read(count).upper()
# ...
作為一個(gè)實(shí)現細節,大多數模塊都將名稱(chēng) __builtins__
作為其全局變量的一部分提供。 __builtins__
的值通常是這個(gè)模塊或者這個(gè)模塊的值 __dict__
屬性。由于這是一個(gè)實(shí)現細節,因此 Python 的替代實(shí)現可能不會(huì )使用它。