builtins模块详解
1.简介
builtins是python的内建模块,所谓内建模块就是你在使用时不需要import,在python启
动后,在没有执行程序员编写的任何代码前,python会加载内建模块中的函数到内存中。比如经常
使用的abs(),str(),type()等。在python2.x中这个模块叫做__builtin__
.如果你需要向内建模块中添加自己的函数,则必须import builtins(在__main__
模块中可以直接通过__builtins__
添加函数,不需要import builtins)。
2.builtins与__builtins__
的区别
__builtins__
是对builtins的一个引用。在任何地方使用builtins都必须import,
而使用__builtins__
则不需要import。那这个引用指的是什么呢?下面分两种情况来解释:
在__main__
模块中
在__main__
中__builtins_
_与builtins是同一个东西,你可以通过这两个中的任意一个来
导入自己的函数。两者唯一的区别是__builtins__
使用时不需要导入,而无论在那个模块中使
用builtins都必须先导入。
file:///D:/%E7%AC%94%E8%AE%B0/builtins/1.png
在非__main__
模块中
__builtins__
是对builtins的__dict__
的引用,而不是builtins本身。下面
是test.py文件
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import builtins
def printTest():
print(__builtins__ is builtins)
print(__builtins__ is builtins.__dict__)
print(type(__builtins__))
printTest()
运行结果为:
file:///D:/%E7%AC%94%E8%AE%B0/builtins/2.png
再来一个test2.py文件,test2.py import test.py
import test
test.printTest()
file:///D:/%E7%AC%94%E8%AE%B0/builtins/3.png