python的builtins模块
builtins模块详解
1.介绍
1.1 builtins: python内建模块
内建模块就是在使用的时候不需要进行import, 在python启动之后,在没有执行程序员编写的任何代码之前,python会加载内建模块中函数到内存(python的内建函数,例如:abs(),str(),type()等)。在python2.x中为builtins
。
如果需要向内建模块中添加自己的函数,则必须import builtins
在__main__
模块中可以直接通过__builtins__
添加函数,不需要import builtins。
1.2 builtins 与 __builtins__的区别
.在__main__模块中
在__main__
模块中,__builtins__
与builtins是同一个东西,可以使用两个中的任意一个来导入自己的函数到内建模块中,而使用builtins的时候需要import builtins
,__builtins__
不需要import。
.在非__main__模块中
__builtins__
是对builtins的__dict__
引用,而不是builtins
本身
2.示例
代码
1.
#test.py
import builtins
def Test():
print(__builtins__ is builtins)
print(__builtins__ is builtins.__dict__)
print(type(__builtins__))
Test()
2.
import builtins
def Test():
print(__builtins__ is builtins)
print(__builtins__ is builtins.__dict__)
print(type(__builtins__))
#
if __name__ == '__main__':
Test()
3. --->2
## test2.py
import test
test.Test()
4.--->1
## test2.py
import test
test.Test()
结果
1
2
3
4